时间进行3段区分 执行倒计时 end1 end2 开始执行回调

Posted 明天后浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间进行3段区分 执行倒计时 end1 end2 开始执行回调相关的知识,希望对你有一定的参考价值。

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

<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
    <script src="jquery.js"></script>
    <script>
    // 倒计时插件
    (function() {
        function countdown(config) {
            var startDate = config.start ? new Date(config.start) : new Date();
            var endDate1 = new Date(config.end1);
            var endDate2 = new Date(config.end2);
            var id = config.id || ‘countdown‘;

            var time1 = (endDate1 - startDate) / 1000;
            var time2 = (endDate2 - startDate) / 1000;
            // 结束后
            if (time2 < 0) {
                if (config.callback) {
                    config.callback();
                }
                return;
            // end1 与 end2 进行中
            } else if (time1 < 0 && time2 > 0) {
                if (config.callbacking) {
                    config.callbacking();
                }
                time_set(time2);
            }
            function time_set(time) {
                setTimeout(function() {
                    countdown(config);
                }, 1000);
            }
            // end1 前面
            if (time1 > 0) {
                time_set(time1);
            }
        }

        window.countdown = countdown;
    })();
    // 引用倒计时
    countdown({
        ‘end1‘: ‘2017/01/20 20:39:30‘,
        ‘end2‘: ‘2017/01/20 24:00:00‘,
        ‘callbacking‘: function() {
            $(".main").html("aaabbbcc");
        },
        ‘callback‘: function() {
            $(".main").html("aaabbbccdddddd");
        }
    });
    </script>
    <div class="main">你好,世界</div>
</body>

</html>

  

以上是关于时间进行3段区分 执行倒计时 end1 end2 开始执行回调的主要内容,如果未能解决你的问题,请参考以下文章

普罗米修斯irate/rate算法区别(原创)

leetcode-面试题16.03交点

用 Date() 测量执行时间

JS 单线程

C++ ---字符串相加

Java中的平衡树