BOM中的定时器setInterval()和setTimeout()详解

定时器

   /*
    * 定时器:
    * window.setInterval(参数1,参数2);
    * 参数1:函数
    * 参数2:时间---毫秒---1000毫秒--1秒
    * 返回值就是定时器的id值
    * 执行过程:页面加载完毕后,过了1秒,执行一次函数的代码,又过了1秒再执行函数.....
    * 返回值就是定时器的id值
    * 停止定时器:
    * window.clearInterval(timeId);
    * 参数:要清理的定时器的id值
    * */
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" value="停止" id="btn"/>
<script>
   var timeId=window.setInterval(function () {
        alert("word");
    },2111);
   document.getElementById("btn").onclick = function () {
       //点击按钮,停止定时器
       //参数:要清理的定时的id的值
       window.clearInterval(timeId);
   };
</script>
</body>
</html>

案例:图片自由摆动

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="common.js"></script>
    <style>
        #dv{
            position: absolute;
        }
    </style>
</head>
<body>
<input type="button" value="摆动" id="btn1"/>
<input type="button" value="停止" id="btn2"/>
<div id="dv">
    <img src="../../image/1.gif" alt=""/>
    <img src="../../image/2.gif" alt=""/>
</div>
<script>
    var timeId;//全局变量
    my$("btn1").onclick = function () {
        timeId= setInterval(function () {
            //随机数
            var x = parseInt(Math.random() * 100 + 1);
            var y = parseInt(Math.random() * 100 + 1);
            //设置元素的left和top属性值
            my$("dv").style.left = x + "px";
            my$("dv").style.top = y + "px";
        }, 100);
    };

    my$("btn2").onclick=function () {
        window.clearInterval(timeId);
    };
</script>
</body>
</html>

一次性的定时器(只执行一次)

/*
    * 参数返回值和前面的定时器一样,不过这个定时器是一次性的
    * window.setTimeout(函数,时间);
    * window.clearTimeout(定时器的ID名)
    * */
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //页面加载完毕后,这个事件才会执行
    window.onload=function () {
        //一次性的定时器
        var timeId=window.setTimeout(function () {
            alert("您好");
        },1000);
        //点击这个按钮,停止这个一次性的定时器(清除缓存)
        document.getElementById("btn").onclick=function () {
            window.clearTimeout(timeId);
        };
    };

</script>
<input type="button" value="停下" id="btn"/>
</body>
</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值