一个按钮控制定时器的开始与暂停

简介: 一个按钮控制定时器的开始与暂停

内容介绍

  最近事情有点多,参加新星计划也接近尾声,顾不上更新文章是个问题,最后决定水一篇,但是又不能太水,所以就有了学习时候的这个案例(论如何光明正大的水)。

一、效果图

在这里插入图片描述

二、实现代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>一个按钮控制定时器的开始与暂停</title>
    <script type="text/javascript">
        var intervalId;
        var i = 0;
        var count = 0;

        function startTime() {
            var hour = document.getElementById("hour");
            var minute = document.getElementById("minute");
            var second = document.getElementById("second");
            var ms = document.getElementById("ms");
            var buttonEle = document.getElementById("start");


            if (i % 2 == 0) {
                buttonEle.innerHTML = "暂停计时";
                intervalId = setInterval(function() {
                    count += 1;
                    var thehour = parseInt(count / 360000);
                    var theminute = parseInt(count / 6000 % 60);
                    var thesecond = parseInt(count / 100 % 60);
                    var thems = parseInt(count % 100);

                    if (thehour >= 10) {
                        hour.innerHTML = thehour + " ";
                    } else {
                        hour.innerHTML = "0" + thehour + " ";
                    }

                    if (theminute >= 10) {
                        minute.innerHTML = theminute + " ";
                    } else {
                        minute.innerHTML = "0" + theminute + " ";
                    }

                    if (thesecond >= 10) {
                        second.innerHTML = thesecond + " ";
                    } else {
                        second.innerHTML = "0" + thesecond + "  ";
                    }
                    if (thems >= 10) {
                        ms.innerHTML = thems + "&nbsp;";
                    } else {
                        ms.innerHTML = "0" + thems + "&nbsp;";
                    }
                }, 10)
            } else {
                buttonEle.innerHTML = "开始计时";
                clearInterval(intervalId);
            }
            i++;
        }
    </script>
    <style type="text/css">
        body,
        html {
            background: violet;
            /*position: relative;*/
        }
        
        #firstDiv {
            height: 50%;
            width: 50%;
            position: absolute;
            margin-left: 350px;
            margin-top: 150px;
            background: #ffcccc;
        }
        
        #twoDiv {
            height: 200px;
            width: 100%;
            position: absolute;
            margin-top: 130px;
            margin-left: 130px;
            ;
        }
        
        span {
            font-size: 30px;
        }
        
        button {
            font-size: 20px;
        }
    </style>
</head>

<body>
    <div id="firstDiv">
        <div id="twoDiv">
            <span><span id="hour">00&nbsp;</span>时</span>
            <span><span id="minute">00&nbsp;</span>分</span>
            <span><span id="second">00&nbsp;</span>秒</span>
            <span><span id="ms">00&nbsp;</span>毫秒</span>

            <button id="start" onclick="startTime()">开始计时</button>
        </div>
    </div>
</body>

</html>

三、注

案例不分大小,有想法的小伙伴可以优化结构布局,重新封装函数,或者增加更多有趣的功能,如重置按钮、分段计时等。


标签:JavaScript,定时器


更多演示案例,查看 案例演示


欢迎评论留言!

相关文章
|
9月前
|
Linux 调度
按键消抖的两种方法--中断延迟工作与定时器
按键消抖的两种方法--中断延迟工作与定时器
345 0
|
4月前
[Qt5] 鼠标响应事件和计时器事件
[Qt5] 鼠标响应事件和计时器事件
26 0
|
5月前
|
小程序 前端开发 JavaScript
小程序计时器
小程序计时器
81 0
Qt一句话做一个单次倒计时定时器
Qt一句话做一个单次倒计时定时器
|
11月前
【51定时器】独立按键-短按与长按
【51定时器】独立按键-短按与长按
134 0
|
API Windows
【clswindow框架应用】自动移动鼠标避免锁屏,鼠标随机移动防止锁屏、待机、休眠
【clswindow框架应用】自动移动鼠标避免锁屏,鼠标随机移动防止锁屏、待机、休眠
484 0
【clswindow框架应用】自动移动鼠标避免锁屏,鼠标随机移动防止锁屏、待机、休眠
中断方式实现跑马灯
中断方式实现跑马灯 宏定义 初始化 延迟 跑马灯 中断 主函数
386 0
通过定时器T1查询方式控制LED1周期性闪烁(自由计数模式)
通过定时器T1查询方式控制LED1周期性闪烁(自由计数模式) 宏定义与函数声明 初始化 主函数
253 0
MediaElement视频控制:播放、暂停、停止、后退、快进、跳转、音量
原文:MediaElement视频控制:播放、暂停、停止、后退、快进、跳转、音量 /* =================================================  * Author:     Micro  * Date:       2016=03-25             点击下载源码     * Qq:         471812366@qq.
2416 0