zoukankan      html  css  js  c++  java
  • 计时器练习

    1.获取当前时间的代码,时间显示在input窗口里边.

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="content-Type" charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title>Title</title>
    </head>
    <body>
    
    <input type="text" id="i1">
    <script>
        var i1Ele=document.getElementById('i1');
        var now=new Date();
        i1Ele.value=now.toLocaleString();
    </script>
    <!--获取当前时间的代码-->
    </body>
    </html>

     结果显示:

    2.获取时间动起来的代码

    一下代码实现了功能,但是存在bug:主要是点击两次开始,就不能停止时间了,思考是为什么?

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="content-Type" charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title>Title</title>
    </head>
    <body>
    
    <input type="text" id="i1">
    <button id="b1">开始</button>
    <!--点击开始,就在input窗口里跑起时间,这里需要给按钮绑定一个事件-->
    <button id="b2">停止</button>
    
    <script>
        var i1Ele=document.getElementById('i1');
        var t;//定义一个t
        function f() {
            var now = new Date();
            i1Ele.value = now.toLocaleString();
        }
        // 升级,将上边两句话写在一个函数里边
        f();//默认需要先执行一遍,才会在input窗口里显示
    
        var b1Ele=document.getElementById('b1');
        b1Ele.onclick=function (ev) {
            t=setInterval(f,1000)
        };
        //找到按钮
        // 编写事件出发
        //定时,设置时间间隙.为1s
    
        var b2Ele=document.getElementById('b2');
        b2Ele.onclick=function (ev) {
            clearInterval(t)
        }
    </script>
    <!--获取当前时间的代码-->
    </body>
    </html>

     3.计时器完整改良版写法

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="content-Type" charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title>Title</title>
    </head>
    <body>
    
    <input type="text" id="i1">
    <button id="b1">开始</button>
    <!--点击开始,就在input窗口里跑起时间,这里需要给按钮绑定一个事件-->
    <button id="b2">停止</button>
    
    <script>
        var i1Ele=document.getElementById('i1');
        var t;//定义一个t
        function f() {
            var now = new Date();
            i1Ele.value = now.toLocaleString();
        }
        // 升级,将上边两句话写在一个函数里边
        f();//默认需要先执行一遍,才会在input窗口里显示
    
        var b1Ele=document.getElementById('b1');
        //点开始,早这里点击了两次开始,意味着有两个定时任务,
        //clear是清除第二个,第一个已经被覆盖了,相当于找不回来了id不知道也就无法清除了.
        b1Ele.onclick=function (ev) {
            if(!t) {
                t = setInterval(f, 1000)
                // 通过判断t是否为空
            }
        };
        //找到按钮
        // 编写事件出发
        //定时,设置时间间隙.为1s
    
        var b2Ele=document.getElementById('b2');
        //点击停止
        b2Ele.onclick=function (ev) {
            clearInterval(t);   //根据id清除定时任务
            // console.log(t);
            t=null;
        }
    
    </script>
    <!--获取当前时间的代码-->
    </body>
    </html>
  • 相关阅读:
    !clrstack未显示任何方法名
    !dumpheap参数和SOS帮助系统的一些一般信息
    WinDbg Script---显示RCW对象引用的COM对象
    为什么不能将2个调试器附加到1个进程
    什么是互操作调试(Interop-Debugging)?
    为什么托管调试与本机调试不同?
    在WinDBG中管理源代码窗口
    如何从转储文件确定 /LARGEADDRESSAWARE
    Dump文件数据存储格式(九)
    Windbg命令系列---!cpuid(CPU信息)
  • 原文地址:https://www.cnblogs.com/studybrother/p/10386195.html
Copyright © 2011-2022 走看看