如何显示最后5秒时,时间跑完
How to show last 5 seconds when timing is running out?
嗨,我正在使用Javascript设置超时来运行某个函数。
如何显示最后10秒的超时时,它是接近结束?
var a = setTimeout('someFunction()', 10000);
它是否能够使用它存储到变量中的值来显示某些东西?
谢谢
我为您创建了一个小演示,
http://jsfiddle.net/praveen_prasad/DYaan/1/<div id="target" style="display:none">
target
</div>
var target,
allotedTimeForWork=100 /*you can change this*/
;
var handler = setTimeout(function(){
if(!target)
{
target=document.getElementById('target');
}
target.style.display="block";
startTicker();
}, allotedTimeForWork);
function startTicker()
{
var counter=10;
var tickerHandler= window.setInterval(function(){
if(counter>0)
{
//cache target
target.innerHTML="you have "+counter +" seconds left";
counter--;
}
else
{
target.innerHTML="time over";
clearInterval(tickerHandler);
}
},1000);
}
不可能直接获取Timeout的剩余时间。您可以尝试为每秒钟设置多个Timeout,或者使用另一个变量来存储Timeout开始的时间。
我会使用两个超时
第一个time - 5秒,调用具有第二个超时(5秒)的函数,该函数将显示计时器
看这里:http://jsfiddle.net/VCAnm/
HTML:<span id="aaa">10</span>
JavaScript: setInterval(function() {
var elem = document.getElementById('aaa');
elem.innerHTML = elem.innerHTML - 1;
}, 1000);
设置2个计时器,一个用于超时,另一个用于警告
var warn_time = 5000;
var function_name = 'someFunction()';
var a = setTimeout('warnFunction(function_name, warn_time)', 10000 - warn_time);
function warnFunction(function_name, time) {
alert('only ' + time + ' seconds left'); //use a div or whatever to display
var b = setTimeout(function_name, time);
}
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 如何每10.6秒从时间戳增加+1
- 自定义调查页面并希望在时区内按时间忽略(可能)
- HTML5画布-暂停时的运行时间
- 在控制器中将输入类型时间更改为秒
- 如何设置$.ajax请求的超时,并在超时时间过长时进行重做
- Jquery时间启动计时器,我有一个计时器的代码,但它在页面加载时启动
- 将时间转换为UTC时出现故障
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 使用自定义格式momentJS时时间无效
- 使用 Froogaloop api 快退 30 秒时出错
- 当页面在每页上空闲3秒时,移动到下一页和后续页
- 如何使用鼠标事件只在用户空闲X秒时进行AJAX调用
- 当后期处理需要5-10秒时,更改单选按钮的最佳方式
- 如何显示最后5秒时,时间跑完
- 在JavaScript中显示本地日期和时间为年-月-日-时-分-秒
- 用于选择小时、分钟和秒的时间选择器
- JavaScript 秒到时间字符串,格式为 hh:mm:ss
- 如何仅当鼠标悬停在某个元素上至少1秒时才触发mouseover事件
- 包含时间戳的数组.当当前分钟中的秒=数组中每个时间戳值的秒时,从数组中推送