zoukankan      html  css  js  c++  java
  • 抢购倒计时的实现

    <html>
    
    <head>
        <meta charset="utf-8">
        <style>
            .timebox {
                border: 1px pink solid;
                width: 300px;
                height: 50px;
                text-align: center;
                margin: 0 auto;
                font-size: 20px;
                line-height: 50px;
            }
        </style>
    </head>
    
    <body>
        <div class="timebox">
            距离抢购时间还剩:
            <span>-- :-- :--</span>
        </div>
    </body>
    <script>
        let timebox = document.querySelector(".timebox"),
            timespan = document.querySelector("span");
    
        function addZero(val) {
            return val < 10 ? '0' + val : val;
        }
        /*
            computeTime:接收服务器字符串打印离抢购的时间
            @params:[String timeStr]服务器返回的时间字符串
            @return:
        */
        let computeTime = function (timeStr) {
            if (typeof timeStr === "undefined") {
                //此处不能用let声明变量,不然外部无法访问;
                var nowTime = new Date(); //当前客户端时间,后期需要换成服务端时间
            } else {
                //字符串的处理,需要的同学可以参考下我的随笔
                console.log(1);
            }
            let endTime = new Date('2019/8/16 18:00:00'),
                diffTime = endTime - nowTime;
            if (diffTime >= 0) {
                let hours = Math.floor(diffTime / (1000 * 60 * 60));
                diffTime = diffTime - hours * 3600000;
                let minute = Math.floor(diffTime / (1000 * 60));
                diffTime = diffTime - minute * 60000;
                let second = Math.floor(diffTime / 1000);
                timespan.innerHTML = `${addZero(hours)}:${addZero(minute)}:${addZero(second)}`;
                return;
            }
            timespan.innerHTML = '抢购开始';
        };
        setInterval(computeTime,1000);
    </script>
    
    </html>

       基于服务器获取时间的思路:

      1.第一次通过AJAX请求获取请求头的时间信息(xhr.readyState===2,而不用等整个请求的完成),并用一个全局变量保存起来。

      2.接下来不再次向服务器发送请求,每次执行computeTime函数,通过判断是否是服务器返回的时间如果是,手动的进行时间的增加。

  • 相关阅读:
    (转)Zipalign——Android apk优化工具
    (转)Android 数字证书详
    (转)ant深入浅出
    (转)Java调用Ant API用法
    (转)Java 代码调用ANT
    (转) Android如果对APK进行加密,提高反编译难度(思路)
    (转)Ant自动打包
    (转)Ant build.xml中的各种变量,使用系统环境变量
    (转)JAVA调用脚本
    (转)Android 编译,打包、签程名详细教
  • 原文地址:https://www.cnblogs.com/angle-xiu/p/11359378.html
Copyright © 2011-2022 走看看