JS中关于setTimeout和setInterval定时器两种方式的练习

setTimeout 的用法和 setInterval 一样

  1. setTimeout 只会执行一次
  2. setInterval 一直(重复)执行
  3. clearTimeout 清除定时器

使用 setTimeout 完成页面时钟效果练习:

<body>
    <h2></h2>
    <script>
      let time = document.querySelector("h2");
      let i = 0;
      function foo() {
        
        // 隔 1 秒就会执行 1 次
        let now = new Date();

        // 分别获取:年月日时分秒
        let year = now.getFullYear();
        let month = now.getMonth() + 1;
        let date = now.getDate();
        let hour = now.getHours();
        let minute = now.getMinutes();
        let seconds = now.getSeconds();

        // 将时间显示到页面
        time.innerHTML = `${year}-${month}-${date} ${hour}:${minute}:${seconds}`;

        //每隔一秒递归调用一次 foo
        setTimeout(function () {
          foo();
        }, 1000);
      }
      // 调用函数
      foo();
    </script>
  </body>

使用 setInterval 完成页面倒计时跳转练习: 

<body>
    <a href="http://www.itcast.cn">支付成功,<span>5</span> 秒之后跳转首页</a>
    <script>
      // 1.定时器来实现倒计时
      let num = 5;
      let tips = document.querySelector("a span");
      let timer = setInterval(function () {
        num--;
        tips.innerHTML = num;
        if (num === 0) {
          // 2.当计时为0时通过 locatin 进行跳转
          location.href = "http://www.baidu.com";
          // 3.清除定时器
          clearInterval(timer);
        }
      },1000);
    </script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄昏终结者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值