• 【JS】两个计时器的写法


    1.

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>计时器</title>
    
    <style type="text/css">
    
    </style>
    </head>
    <body>
        <table border=1>
            <tr>
                <td width="100px"><button onclick="javascript:start();">start</button></td>
                <td width="100px"><button onclick="javascript:stop();">stop</button></td>
                <td width="100px"><span id="showtime"></span></td>
            </tr>
        </table>
    </body>
    </html>
    <script type="text/javascript">
    <!--
        function Timer(){
            var spanId;
            var handler;
            var count;
    
            this.setSpanId=function(id){
                spanId=id;
                count=0;
            }
    
            this.begin=function(){
                handler=setInterval(this.add,500);
            }
    
            this.add=function(){
                count++;
                document.getElementById(spanId).innerText=count+"";
            }
    
            this.end=function(){
                clearInterval(handler);
            }
        }
    
        var timer=new Timer();
        timer.setSpanId("showtime");
    
        function start(){
            timer.begin();
        }
    
        function stop(){
            timer.end();
        }
    //-->
    </script>

    2.

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>计时器</title>
    
    <style type="text/css">
    
    </style>
    </head>
    <body>
        <table border=1>
            <tr>
                <td width="100px"><button onclick="javascript:start();">start</button></td>
                <td width="100px"><button onclick="javascript:stop();">stop</button></td>
                <td width="100px"><span id="showtime"></span></td>
            </tr>
        </table>
    </body>
    </html>
    <script type="text/javascript">
    <!--
        function Timer(){
            var spanId;
            var handler;
            var startTime;
    
            this.setStartTime=function(t){
                startTime=t;
            }
    
            this.setSpanId=function(id){
                spanId=id;
            }
    
            this.begin=function(){
                handler=setInterval(this.add,500);
            }
    
            this.add=function(){
                var now=new Date();
    
                var diff=(now-startTime)/1000;
                var d=parseInt(diff/86400);
                var h=parseInt(diff/3600)-24*d;
                var m=parseInt((diff % 3600) / 60);
                var s=parseInt(diff % 60);
                var elapsed=d+"day "+h+"hour "+m+"minute "+s+"second";
    
                document.getElementById(spanId).innerText=elapsed;
            }
    
            this.end=function(){
                clearInterval(handler);
            }
        }
    
        var timer=new Timer();
        timer.setSpanId("showtime");
        timer.setStartTime(new Date());
    
        function start(){
            timer.begin();
        }
    
        function stop(){
            timer.end();
        }
    //-->
    </script>

    END

  • 相关阅读:
    Ext 可编辑的GridPanel
    Ext 选项卡面板TabPanel
    Ext 行模型与Grid视图
    Ext——xtype各组件类型
    Ext 面板(Panel)
    Ext 消息框
    Ext OOP基础
    js设计模式——8.中介者模式
    js设计模式——7.备忘录模式
    mysql数据库优化(四)-项目实战
  • 原文地址:https://www.cnblogs.com/heyang78/p/15725574.html
Copyright © 2020-2023  润新知