Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript倒计时_Javascript - Fatal编程技术网

Javascript倒计时

Javascript倒计时,javascript,Javascript,我已经在网上搜索过了,但所有现成的都是你指定日期的地方,它会倒计时到那个日期。我需要的是从“27分43秒”(该格式)一直倒计时到0的东西,无论何时他们出现在页面上,任何人都可以得到任何片段?我想你正在寻找类似的东西。类似的东西应该可以做到这一点。我很无聊,决定自己做,而不是用谷歌搜索。只需在顶部设置分和秒,并将onload中的倒计时调用更改为您希望它更新的元素的id <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

我已经在网上搜索过了,但所有现成的都是你指定日期的地方,它会倒计时到那个日期。我需要的是从“27分43秒”(该格式)一直倒计时到0的东西,无论何时他们出现在页面上,任何人都可以得到任何片段?

我想你正在寻找类似的东西。

类似的东西应该可以做到这一点。我很无聊,决定自己做,而不是用谷歌搜索。只需在顶部设置分和秒,并将onload中的倒计时调用更改为您希望它更新的元素的id

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <script>
    var interval;
    var minutes = 1;
    var seconds = 5;
    window.onload = function() {
        countdown('countdown');
    }

    function countdown(element) {
        interval = setInterval(function() {
            var el = document.getElementById(element);
            if(seconds == 0) {
                if(minutes == 0) {
                    el.innerHTML = "countdown's over!";                    
                    clearInterval(interval);
                    return;
                } else {
                    minutes--;
                    seconds = 60;
                }
            }
            if(minutes > 0) {
                var minute_text = minutes + (minutes > 1 ? ' minutes' : ' minute');
            } else {
                var minute_text = '';
            }
            var second_text = seconds > 1 ? 'seconds' : 'second';
            el.innerHTML = minute_text + ' ' + seconds + ' ' + second_text + ' remaining';
            seconds--;
        }, 1000);
    }
    </script>
</head>
<body>
<div id='countdown'></div>
</body>
</html>

var区间;
var分钟=1;
var秒=5;
window.onload=函数(){
倒计时(“倒计时”);
}
函数倒计时(元素){
间隔=设置间隔(函数(){
var el=document.getElementById(元素);
如果(秒==0){
如果(分钟==0){
el.innerHTML=“倒数计时结束!”;
间隔时间;
返回;
}否则{
分钟--;
秒=60;
}
}
如果(分钟>0){
var minute_text=minutes+(minutes>1?'minutes':'minute');
}否则{
var minute_text='';
}
var second_text=seconds>1?'seconds':'second';
el.innerHTML=分钟文本+''+秒+''+秒文本+''剩余文本';
秒--;
}, 1000);
}

嗯,为什么不直接使用这个:

    <div id="countdown">countdown displayed here</div>
    <script type="text/javascript">                               
        $(document).ready(function() {
            //time to count down
            hoursToGo = 0;
            minutesToGo = 27;
            secondsToGo = 43;

            var startTime = new Date();              
            var endTime = new Date();
            endTime.setHours(
                startTime.getHours() + hoursToGo,
                startTime.getMinutes() + minutesToGo, 
                startTime.getSeconds() + secondsToGo, 
                startTime.getMilliseconds()
            );

            //function to update counter
            function update(){
                var currentTime = new Date();

                var remainingTime = new Date();
                remainingTime.setTime(endTime.getTime()-currentTime.getTime());

                $("#countdown").text(remainingTime.getHours()+":"+remainingTime.getMinutes()+":"+remainingTime.getSeconds());

                //call itself every second
                setTimeout(update,1000);
            }

            //start the countdown
            update();                
        });
    </script>
此处显示倒计时
$(文档).ready(函数(){
//倒数计时
小时多哥=0;
minutesToGo=27;
第二个stogo=43;
var startTime=新日期();
var endTime=新日期();
endTime.setHours(
startTime.getHours()+小时到,
startTime.getMinutes()+minutesToGo,
startTime.getSeconds()+secondsToGo,
startTime.getmillizes()
);
//更新计数器的函数
函数更新(){
var currentTime=新日期();
var remainingTime=新日期();
remainingTime.setTime(endTime.getTime()-currentTime.getTime());
$(“#倒计时”).text(remainingTime.getHours()+”:“+remainingTime.getMinutes()+”:“+remainingTime.getSeconds());
//每隔一秒就给自己打电话
设置超时(更新,1000);
}
//开始倒计时
更新();
});
编辑
作为补充,您可以通过将结束时间作为隐藏表单元素的值传递到下一个页面,在多个页面上实现这一点。或者至少这就是我要用它做的;-)

是一个插件,它还接受自定义值来显示任何您想要的倒计时

我制作了一个简单的倒计时,您可以使用它

它正在生成以下格式:

天X小时X分X秒X

JS:

countIt();

function countIt(){
    year = 2013;
    month = 05;
    day = 28;
    hours = 12;
    minutes = 00;
    seconds = 00;

    setTimeout(function(){
    endDate = new Date(year, (month - 1), day, hours, minutes, seconds, 00);
    thisDate  = new Date();
    thisDate  = new Date(thisDate.getFullYear(), thisDate.getMonth(), thisDate.getDate(), thisDate.getHours(), thisDate.getMinutes(), thisDate.getSeconds(), 00, 00);

    var daysLeft = parseInt((endDate-thisDate)/86400000);
    var hoursLeft = parseInt((endDate-thisDate)/3600000); 
    var minutsLeft = parseInt((endDate-thisDate)/60000);
    var secondsLeft = parseInt((endDate-thisDate)/1000);

    seconds = minutsLeft*60;
    seconds = secondsLeft-seconds;

    minutes = hoursLeft*60;
    minutes = minutsLeft-minutes;

    hours = daysLeft*24;
    hours = (hoursLeft-hours) < 0 ? 0 : hoursLeft-hours;

    days = daysLeft;

    startCount(days, hours, minutes,seconds);
    }, 1000);
}

function startCount(days, hours, minutes, seconds){
    document.getElementById("counter").innerHTML="DAYS "+days+", HOURS "+hours+", MINUTES "+minutes+", SECONDS: "+seconds;
    countIt();
}
countIt();
函数countIt(){
年份=2013年;
月=05;
日=28;
小时=12;
分钟=00;
秒=00;
setTimeout(函数(){
endDate=新日期(年(月-1)、日、小时、分、秒、00);
thisDate=新日期();
thisDate=新日期(thisDate.getFullYear()、thisDate.getMonth()、thisDate.getDate()、thisDate.getHours()、thisDate.getMinutes()、thisDate.getSeconds()、00、00);
var daysLeft=parseInt((endDate thisDate)/86400000);
var hourslft=parseInt((endDate thisDate)/3600000);
var minutslft=parseInt((endDate thisDate)/60000);
var secondsLeft=parseInt((endDate thisDate)/1000);
秒=分钟左*60;
秒=秒英尺秒;
分钟=剩余小时*60;
分钟=分钟左分钟;
小时=daysLeft*24;
小时=(小时剩余小时)<0?0:小时剩余小时;
天=daysLeft;
开始计数(天、小时、分钟、秒);
}, 1000);
}
功能开始计数(天、小时、分钟、秒){
document.getElementById(“计数器”).innerHTML=“天”+DAYS+”,小时“+HOURS+”,分钟“+MINUTES+”,秒“+SECONDS;
countIt();
}
HTML:

<div id="counter"></div>


我还制作了一个倒计时时钟,但使用的是html5画布。 如果你喜欢,可以随意使用。(运行下面的代码snipet)

(函数(){
/**
*WlCounter纯JS类
*
*@class-wl计数器
*@Author:Wiktor Lis
*/
var WlCounter=函数(){
//日期设置-请记住,日期对象中的月份是按0的数组计算的!所以月份范围在0到11之间。除此之外,一切都和您期望的一样。
this.setEventDate(新日期(2017,03,22,22,5,0),“当前未使用”);//注意!月在日期对象中表示为0到11
this.setEventEndDate(新日期(2019、04、03、22、9、0),“当前未使用”,“当前未使用”);//注意!在日期对象中,月份表示为0到11
//时钟设置
//时钟大小
此.container={
x:0,,
y:0,
w:150,
h:150
};
//环冲程
this.stroke=this.container.w/10;
//数字字体大小
this.numFontSize=this.container.w/6+'px';
//标签字号
this.labelFontSize=this.container.w/10+'px';
//颜色
this.colorRing=“hsla(355,0%,90%,1)”;
this.colorActive=“hsla(355100%,50%,1)”;
this.colorTimedOut=“hsla(355,0%,50%,0.3)”;
//其他
//初始目标喷射
this.curent={};
this.counter={};
}
/**
*此方法基于css id创建画布
*
*@methodcreatecanvas
*画布DOM对象的@param{String}cssId
*/
WlCounter.prototype.createCanvas