定时器setTimeout和setInterval的简单应用[通俗易懂]

定时器setTimeout和setInterval的简单应用[通俗易懂]本文简单利用定时器setTimeout和setInterval举了两个小栗子:定时炸弹和1-100递增

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本文简单利用定时器setTimeout和setInterval举了两个小栗子:定时炸弹和1-100递增

代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>13-14定时器</title>
    <style>
        em {
            font-style: normal;
        }
    </style>
</head>

<body>
    <h2>@定时器</h2>

    <!-- ----------------------------------13-------------------------------------------------------------- -->
    <br>
    <h3>13 在页面上显示10秒的倒计时, 然后显示“ boom!!!”</h3>
    <em id="p1">定时器开启,10S倒计时开始:</em>
    <em id="p2"></em>
    <script>
        var count1 = 10
        var changeP = document.querySelector("#p1")
        var changeP2 = document.querySelector("#p2")
        // 设定一个10s的定时器
        setTimeout(
            function () {
                changeP.innerText = "噫吁嚱,要boom了!!!"
            },
            10 * 1000
        )
        // 设定一个10s倒计时
        var timer = setInterval(
            function () {
                --count1
                changeP2.innerText = count1
                if (count1 === 0) {
                    clearInterval(timer)
                    count1 = 10
                }
            }, 1000
        )
    </script>

    <!-- ----------------------------------14-------------------------------------------------------------- -->
    <br>
    <h3>14 每秒产生并打印递增的自然数1、 2、 3...,直到100为止, 点击按钮暂停 / 继续</h3>
    <em id="em4">倒递增的自然数</em>
    <button id="btnClear">暂停</button>
    <script>
        var em4 = document.querySelector("#em4")
        var btnClear = document.querySelector("#btnClear")
        var count = 1
        var timerId = null
        // 开始倒计时
        function startAutoPlay() {
            if (!timerId) {
                timerId = setInterval(
                    function countNumber() {
                        em4.innerText = count++
                        if (count === 100) {
                            clearInterval(timer)
                            count = 0
                        }
                    },
                    1000
                )
            }
        }
        startAutoPlay()

        // 给按钮绑定事件委托,实现暂停/继续的功能
        btnClear.addEventListener(
            "click",
            function (e) {
                if (e.target.innerText === "暂停") {
                    clearInterval(timerId)
                    timerId = null
                    btnClear.innerText = "继续"
                } else if (e.target.innerText === "继续") {
                    startAutoPlay()
                    btnClear.innerText = "暂停"
                }
            }
        )
    </script>
</body>

</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185923.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网站友链html代码_html底部友情链接代码

    网站友链html代码_html底部友情链接代码使用PHPcms建站的时候会经常遇到,添加友情链接。那么如何在phpcms的网站里面添加友情链接呢{pc:linkaction=”type_list”typeid=”0″siteid=”1″linktype=”1″order=”listorderDESC”num=”8″return=”pic_link”}{loop$pic_link$v}{$v[name]}{/loop}{/…

    2022年10月24日
  • 在 Python 中的常见的几种字符串替换操作

    在 Python 中的常见的几种字符串替换操作基于Python3.7.3中,主要的方法有替换子串:replace()替换多个不同的字符串:re.sub(),re.subn()用正则表达式替换:re.sub(),re.subn()根据位置来替换:slice()replace()方法比如,输入的字符串为’onetwoonetwoone’,第一个参数为替换前的参数,第二个为替换后的参数。默认会替换字符串中的所有符合条件的字…

    2022年6月3日
  • 350页前端校招面试题直击大厂:前端基础、前端核心、计算机基础、项目、Hr面…「建议收藏」

    350页前端校招面试题直击大厂:前端基础、前端核心、计算机基础、项目、Hr面…「建议收藏」前言考虑到关注的小伙伴们也会有在校生或应届生,要参加校招的同学,一直挺想总结一些关于校招面试题,赶在春招结束前终于写完了,除了写到前端方面的面试题外,项目、职业发展、H面等高频问题也会有,写的很详细,全方面做好准备,为同学们的校招保驾护航!目录1.HTML2.CSS3.前端基础4.前端核心5.前端进阶6.移动端开发7.计算机基础8.算法与数据结构9.设计模式10.项目11.职业发展12.Hr面正文HTML1.浏览器页面有哪三层构成,分别是什么,作用是什么?2.HTML5的

    2022年6月19日
  • 互联网研发部门组织架构_百度组织架构图2019

    互联网研发部门组织架构_百度组织架构图2019互联网业务研发架构体系指南(草稿V0.0.1)大纲业务技术 稳定性 【稳定性day0】稳定性治理的三种思想—亚马逊、Netflix与蚂蚁金服 【稳定性day1】从DBA到运维架构总监之路-专注的力量 【稳定性day2】当当网的高可用之道 【稳定性day3】蘑菇街的运维体系-如何撑住双十一 【稳定性day4】美团外卖高可用的演进之路-日活两千万的…

    2022年10月12日
  • pycharm如何安装numpy库_四上入库

    pycharm如何安装numpy库_四上入库NumPy(NumericalPython)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy是一个运行速度非常快的数学库,主要用于数组计算。(一)打开PyCharm,点击设置(二)选择左侧栏目中的“项目:pythonProject”–“Python解释器”,点击右侧“+”(三)输入“numpy”,安装即可…

    2022年8月27日
  • 模电七:集成运算放大器(上)

    模电七:集成运算放大器(上)!!!!

    2022年5月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号