如何制作这个"未来日期"从现在开始倒计时5分钟"

时间:2016-03-08 07:32:51

标签: javascript timer countdown

我真的很挣这个剧本。这不是我的剧本,我显然不是最强的编码员。我只是想尝试修改此脚本,以便而不是设置日期:"日,月,年" (第5-8行),它只是从现在开始,在xx分钟xx秒内获取当前时间并设置倒数计时器

任何帮助都会令人惊叹。 你可以在这里看到它是如何工作的http://mobisin.com/txtrd/(如果你需要这个文件,也可以下载页面)。

<script>
        var $countdown = $('.ce-countdown');
        var firstCalculation = true;
        $countdown.countEverest({
            day: 30,
            month: 6,
            year: 2015,
            leftHandZeros: true,
            afterCalculation: function() {
                var plugin = this,
                    units = {
                        days: this.days,
                        hours: this.hours,
                        minutes: this.minutes,
                        seconds: this.seconds
                    },
                    //max values per unit
                    maxValues = {
                        hours: '23',
                        minutes: '59',
                        seconds: '59'
                    },
                    actClass = 'active',
                    befClass = 'before';

                //build necessary elements
                if (firstCalculation == true) {
                    firstCalculation = false;

                    //build necessary markup
                    $countdown.find('.ce-unit-wrap div').each(function () {
                        var $this = $(this),
                            className = $this.attr('class'),
                            value = units[className],
                            sub = '',
                            dig = '';

                        //build markup per unit digit
                        for(var x = 0; x < 10; x++) {
                            sub += [
                                '<div class="digits-inner">',
                                    '<div class="flip-wrap">',
                                        '<div class="up">',
                                            '<div class="shadow"></div>',
                                            '<div class="inn">' + x + '</div>',
                                        '</div>',
                                        '<div class="down">',
                                            '<div class="shadow"></div>',
                                            '<div class="inn">' + x + '</div>',
                                        '</div>',
                                    '</div>',
                                '</div>'
                            ].join('');
                        }

                        //build markup for number
                        for (var i = 0; i < value.length; i++) {
                            dig += '<div class="digits">' + sub + '</div>';
                        }
                        $this.append(dig);
                    });
                }

                //iterate through units
                $.each(units, function(unit) {
                    var digitCount = $countdown.find('.' + unit + ' .digits').length,
                        maxValueUnit = maxValues[unit],
                        maxValueDigit,
                        value = plugin.strPad(this, digitCount, '0');

                    //iterate through digits of an unit
                    for (var i = value.length - 1; i >= 0; i--) {
                        var $digitsWrap = $countdown.find('.' + unit + ' .digits:eq(' + (i) + ')'),
                            $digits = $digitsWrap.find('div.digits-inner');

                        //use defined max value for digit or simply 9
                        if (maxValueUnit) {
                            maxValueDigit = (maxValueUnit[i] == 0) ? 9 : maxValueUnit[i];
                        } else {
                            maxValueDigit = 9;
                        }

                        //which numbers get the active and before class
                        var activeIndex = parseInt(value[i]),
                            beforeIndex = (activeIndex == maxValueDigit) ? 0 : activeIndex + 1;

                        //check if value change is needed
                        if ($digits.eq(beforeIndex).hasClass(actClass)) {
                            $digits.parent().addClass('play');
                        }

                        //remove all classes
                        $digits
                            .removeClass(actClass)
                            .removeClass(befClass);

                        //set classes
                        $digits.eq(activeIndex).addClass(actClass);
                        $digits.eq(beforeIndex).addClass(befClass);
                    }
                });
            }
        });
    </script>

0 个答案:

没有答案
相关问题