原生js计时器

news/2024/7/1 18:22:45

闲来无事,写一个简单的计时器

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Elias:计时器</title>
    <style>
        div.box{
            width: 300px;
            height: 100px;
            margin: 100px auto;
            line-height: 50px;
            text-align: center;
            border: 1px solid red;
        }
        div.time{
            width: 300px;
            height: 50px;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="time">
            00:00:00
        </div>
        <form>
            <button type="button" id="reset">重新开始</button>
            <button type="button" id="stop">暂停</button>
            <button type="button" id="continue">继续</button>
        </form>
    </div>
    <script>
        var oTime = document.querySelector('.time');
        var oReset = document.getElementById('reset');
        var oStop = document.querySelector('#stop');
        var oContinue = document.querySelector('#continue');

        function format(obj) {//简单封装一个格式化时间的函数
            if (obj < 10) {
                return "0" + obj;
            } else {
                return obj;
            }
        }
        var ss,s,ms,hs,timer;
        oReset.onclick = function () {
            ss = s = ms = hs = 0;
            timeRun();
            oStop.onclick = function () {
                clearInterval(timer);
            }
            oContinue.onclick = function () {
                timeRun();
            }
        }

        function timeRun() {
            clearInterval(timer);
            timer = setInterval(function () {
                ss++;
                ms = format(Math.floor(ss / 60));
                hs = format(Math.floor(ss / 3600));
                s = format(ss % 60);
                oTime.innerHTML = hs + ":" + ms + ":" + s;
            }, 1000)
        }
    </script>
</body>

</html>

 

转载于:https://www.cnblogs.com/gitByLegend/p/10541360.html


http://www.niftyadmin.cn/n/1996510.html

相关文章

React路由配置使用

Router包安装: 安装包还是要打开命令行工具&#xff0c;使用npm来进行安装。 npm install --save react-router react-router-dom页面login: import React from react import { createHashHistory } from history// eslint-disable-next-line react/require-render-return expo…

WebBrowser编程简述

WebBrowser编程简述 引 言 这篇文章最先发表于2000年07月25日&#xff0c;最后一次修改是在2001年02月07日。这里再次贴出的目的&#xff0c;一是作为前一阶段的完结&#xff0c;所以文章中的错误都不作修改&#xff1b;二是希望作为一个新的起点。我准备整理一下至今所积累…

EXCEL中的游戏

EXCEL中的游戏EXCEL 2000:新建一个空白文件,选择"文件"菜单的"另存为WEB页...",然后在"另存为"对话框中选择"工作表"并勾选"添加交互"栏目,按"发布"后,出现"发布为WEB页"的对话框,选择"发布"…

桌面地址的注册表项

HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders

[2019.2.13]BZOJ4318 OSU!

我们记\(pw3_i\)表示前\(i\)个位置,结尾为\(i\)的最长全1子串的期望长度的立方。 如果我们钦定\(p_{n1}0\),那么答案\(\sum_{i1}^npw3_i\times(1-p_{i1})\)。乘上\((1-p_{i1})\)意思是这一位要在下一位为\(0\)的时候才有贡献。 设当前位置为\(i\)。 这一位有\(p_i\)的概率为1。…

Windows外壳名字空间的浏览

Windows外壳名字空间的浏览 姜伟华 Windows95/98对Dos/Win3.x作了许多重大改进&#xff0c;在文件系统方面&#xff0c;它除了采用长文件名替代Dos中的8.3文件名以外&#xff0c;引入外壳名字空间&#xff08;Shell Name Space&#xff09;来代Dos文件系统是其又一大突破&…

webstorm初始化_WebStorm入门配置教程

如何下载WebStorm&#xff1f;去 WebStorm官方网站下载即可&#xff0c;可以免费试用 30 天。获取正版的途径付费购买WebStorm 官方报价是第一年 405 人民币第二年 323 人民币第三年之后 240 人民币2. 如果你是学生&#xff0c;可以获取免费教育版3. 如果你在 GitHub 上的项目持…

JavaScript夯实基础系列(三):this

在JavaScript中&#xff0c;函数的每次调用都会拥有一个执行上下文&#xff0c;通过this关键字指向该上下文。函数中的代码在函数定义时不会执行&#xff0c;只有在函数被调用时才执行。函数调用的方式有四种&#xff1a;作为函数调用、作为方法调用、作为构造函数调用以及间接…