开发工具与关键技术:visual Studio jquery
作者:邓伟征
JavaScript 计时器
通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。
一次性计时器:仅在指定的延时时间之后触发一次
间隔性触发计时器,每隔一定的时间间隔就触发一次
setInterval()方法:每隔指定的时间执行代码
ckearInteval()方法:取消setInterval的设置
设置页面每隔指定时间执行的计时器:
语法: setInterval(代码,交互时间);
- 代码:要调用的函数或要执行的代码串。
- 交互时间:周期性执行或调用表达式之间的时间间隔,以毫秒计(1s=1000ms)
首先获取当前的日期时间
function ms() {
var date = new Date();
var seperator1 = “-”;
var seperator2 = “:”;
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = “0” + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = “0” + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
return currentdate;}
。然后设置他要调用的函数和间隔的时间:
var intTime = setInterval(clock, 3000);
function clock()
{
var curTime = ms();
document.getElementById(“time”).value = curTime;}
执行后,他会延时三秒后才会显示当前的时间,显示后还有延时三秒后才显示时间,不过显示的是三秒后的时间,点击clearInterval,会停止
function Stop() {
clearInterval(intTime);}
setTimeout()计时器,在载入后延迟指定时间后,去执行一次表达式,仅执行一次。
语法:setTimeout(代码,延时时间); - 要调用的函数或要执行的代码串。
- 延时时间:在执行代码前需等待的时间,以毫秒为单位(1s=1000ms)。
function sayHello()
{var timer = setTimeout(“alert(‘从前从前’)”,3000);}
点击sayHello后延时三秒会弹出提示框
setTmeout()计时器:
语法:clearTimeout(id_of_setTimeout)
id_of_setTimeout:由 setTimeout() 返回的 ID 值。该值标识要取消的延迟执行代码块。
var num = 0, timeout;
function startCount()//开始计数
{
document.getElementById(“count”).value = num;
num++;
timeout = setTimeout(startCount,1000);
}
function stopCount()//停止计数
{
clearTimeout(timeout);
}
点击setTimeout开始从零开始计时,每隔一秒+1,点击clearTimeout停止计数
点击两次还有俩倍加速效果,点击三次有三倍加速效果,最多可能是一百倍吧,
点击clearTimeout还有减速效果,一直减到1倍之后就会停止