zoukankan      html  css  js  c++  java
  • 手机秒表(JS实现)

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
            <title></title>
    
            <style>
                * {
                    margin: 0;
                    padding: 0;
                }
                
                html,
                body {
                    height: 100%;
                     100%;
                    background-color: black;
                }
                
                #time {
                    color: white;
                    font-size: 80px;
                    padding-top: 35%;
                    padding-left: 4%;
                    height: 15%;
                     100%;
                }
                
                #butWrap {
                    height: 10%;
                    overflow: hidden;
                    padding: 20px;
                }
                
                #butWrap input {
                    border-radius: 40px;
                    font-size: 20px;
                     80px;
                    height: 80px;
                    border: 0;
                    outline: none;
                }
                
                #leftBtn {
                    background-color: rgb(21, 21, 21);
                    float: left;
                    color: rgb(132, 132, 132);
                }
                
                #rightBtn {
                    background-color: rgb(12, 56, 30);
                    float: right;
                    color: rgb(0, 196, 92);
                }
                
                #timeMain {
                    height: 50%;
                     100%;
                    overflow-y: scroll;
                }
                
                #timeMain div {
                    color: white;
                    font-size: 20px;
                    border-top: 1px solid darkgray;
                    border-bottom: 1px solid darkgray;
                    padding: 10px;
                    overflow: hidden;
                }
                
                #timeMain div>span:first-child {
                    float: left;
                }
                
                #timeMain div>span:last-child {
                    float: right;
                }
                
                .stop {
                    background-color: rgb(66, 18, 15) !important;
                    color: rgb(196, 0, 3) !important;
                }
            </style>
        </head>
    
        <body>
            <div id="time">00:00.00</div>
            <div id="butWrap">
                <input type="button" value="计次" id="leftBtn" />
                <input type="button" value="启动" id="rightBtn" />
            </div>
            <div id="timeMain"></div>
    
            <script>
                var timeDiv = document.getElementById("time"); // 最大数字显示标签
                var rightBtn = document.getElementById("rightBtn");
                var leftBtn = document.getElementById("leftBtn");
                var timeMain = document.getElementById("timeMain"); // 计次的部分
                var nowTime = 0; // 当前毫秒数
                var nowSeconds = 0; // 当前秒数
                var nowMinutes = 0; // 当前分钟数
                var t; // 保存计时器
                leftBtn.onclick = function(){
                    if(this.value == "记次"){
                    timeNum();
                    } else {
                        resetTime();//复位
                    }
                    
                }
    
                rightBtn.onclick = function() {
                    if(this.value == "启动") {
                        start();
                        this.className = "stop";
                        this.value = "停止";
                        leftBtn.value = "记次"
                    } else {
                        stop();
                        this.className = "";
                        this.value = "启动";
                        leftBtn.value = "复位"
                    }
                }
    
                // 1. 启动事件
                function start() {
                    // (1) 数字变化
                    t = setInterval(function() {
                        nowTime++;
                        changeTime();
                    }, 10);
                    if(timeMain.innerHTML == "") { //点击启动的时候只会走一次
    
                        timeNum();
                    }
    
                }
    
                // 2. 停止事件
                function stop() {
                    clearInterval(t);
                }
    
                function changeTime() {
                    if(nowTime == 100) {
                        nowTime = 0;
                        nowSeconds++;
                    }
                    if(nowSeconds == 60) {
                        nowSeconds = 0;
                        nowMinutes++;
                    }
    
                    // 3. 处理时间格式
                    checkTimeStyle();
                }
    
                function checkTimeStyle() {
                    var resultStr = "";
                    if(nowMinutes < 10) {
                        resultStr = "0" + nowMinutes + ":";
                    } else {
                        resultStr = nowMinutes + ":";
                    }
    
                    if(nowSeconds < 10) {
                        resultStr += "0" + nowSeconds + ".";
                    } else {
                        resultStr += nowSeconds + ".";
                    }
    
                    if(nowTime < 10) {
                        resultStr += "0" + nowTime;
                    } else {
                        resultStr += nowTime;
                    }
    
                    timeDiv.innerHTML = resultStr;
                }
    
                // 4. 显示底部计次
                function timeNum() {
                    var myD = document.createElement("div");
                    var lSpan = document.createElement("span");
                    var rSpan = document.createElement("span");
                    myD.appendChild(lSpan);
                    myD.appendChild(rSpan);
                    timeMain.appendChild(myD);
                    lSpan.innerHTML = "记次";
                    rSpan.innerHTML = timeDiv.innerHTML;
                }
                function resetTime(){
                    timeDiv.innerHTML = "00:00.00";
                    nowTime = 0;
                    nowSeconds = 0;
                    nowMinutes = 0;
                    timeMain.innerHTML = "";//干掉记次div里所有标签
                }
            </script>
        </body>
    
    </html>
  • 相关阅读:
    BZOJ3124 直径
    BZOJ1491 洛谷2047 NOI2007 社交网络
    TYVJ1423 GF和猫咪的玩具
    poj 3463 Sightseeing
    TYVJ2032 升降梯上
    NOIP2009 codevs1173 洛谷P1073 最优贸易
    [BZOJ1066] [SCOI2007] 蜥蜴 (网络流)
    [BZOJ3293] [Cqoi2011] 分金币 (贪心)
    [BZOJ1045] [HAOI2008] 糖果传递 (贪心)
    [BZOJ1005] [HNOI2008] 明明的烦恼 (prufer编码)
  • 原文地址:https://www.cnblogs.com/quliang945/p/6591118.html
Copyright © 2011-2022 走看看