定时器 槽函数没执行_JavaScript如何使用setTimeout()设置定时器

科技i关注 2019-11-04 13:19:12

在JavaScript中,通过给setTimeout()方法设置需要调用的函数或要执行的代码串参数,和延迟的时间参数;在调用setTimeout()方法就可以设置一个简单的定时器。

b429061b453c3ccd0ff37a407c5847ba.png


在JS中,提供了一些原生方法来实现在设定的时间间隔之后去执行某一段代码;setTimeout()方法设置的是一次性定时器,是仅在指定的延迟时间之后触发一次。下面我们就来看看setTimeout()方法如何设置定时器。setTimeout()方法
setTimeout():设置一次性定时器,在指定的毫秒数后调用函数或计算表达式;会在载入时延迟指定时间后,去执行一次表达式,仅执行一次。【相关视频教程推荐:JavaScript教程】
语法:
setInterval(code,millisec,lang);
参数说明:
code:必需的参数,表示需要调用的函数或要执行的代码串。
millisec:必须的参数,表示周期性执行或调用 “code参数”前的时间间隔,以毫秒为单位计时(1s=1000ms)。
lang 可选的参数。setTimeout()方法的示例:
html代码:
<p>点击按钮,在等待 3 秒后弹出 "Hello"。</p>
<button onclick="myFunction()">点我</button>
js代码:
function myFunction()
{
setTimeout(function(){alert("Hello")},3000);
}
效果图:

1e2512b12c3a690d896aade642080578.png

setTimeout()设置无限循环的定时器
使用setTimeout()方法也可以实现无限循环的定时器,我们需要编写一个函数来调用其自身。此时setTimeout()方法会无限循环,如果想要停止定时器,就需要使用clearTimeout()方法。clearTimeout()方法
clearTimeout():用来取消setTimeout()设置的定时器,在设置setTimeout()进行无限循环时使用。
语法:
clearTimeout(id_of_setTimeout);
参数说明:
id_of_setTimeout:表示由 setTimeout() 返回的 ID 值。
注:该值标识要取消的延迟调用的函数或延迟执行的代码串;setTimeout()方法和clearTimeout()方法的联合示例
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var num=0,i;
function timedCount(){
document.getElementById('txt').value=num;
num=num+1;
i=setTimeout(timedCount,1000);
}
setTimeout(timedCount,1000);
function stopCount(){
clearTimeout(i);
}
</script>
</head>
<body>
<form>
<input type="text" id="txt">
<input type="button" value="Stop" onClick="stopCount()">
</form>
</body>
</html>
效果图:

55edcf595bc9f76844d5f5e3e65cea28.gif


可以看出,一开始setTimeout()设置的定时器在无限循环,使得input框中的数字在不断的增大,当按下Stop按钮后,就会调用clearTimeout()方法,停止setTimeout()定时器,数字就停止增加,保持为数字11。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值