Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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 24小时倒计时脚本,每天11:00点击00:00_Javascript_Php_Jquery_Timer_Countdown - Fatal编程技术网

Javascript 24小时倒计时脚本,每天11:00点击00:00

Javascript 24小时倒计时脚本,每天11:00点击00:00,javascript,php,jquery,timer,countdown,Javascript,Php,Jquery,Timer,Countdown,我需要在我的网站上进行24小时倒计时,每天11:00重新设置,然后再次开始24小时循环 我不需要这个脚本来控制任何东西,我只需要它能让访问者看到,所以当他们在10:00访问时,他们会看到时钟上还剩下1小时,并以小时、分钟、秒的形式进行实时倒计时 我需要它来忽略客户的时区 我发现类似的答案,但有一个小时的窗口,它重置后,我需要它立即重置,我如何编辑它,以满足我的要求 以下是我的发现(计数到21:00,然后是一个小时的窗口,然后再次开始): var日期; var display=document.g

我需要在我的网站上进行24小时倒计时,每天11:00重新设置,然后再次开始24小时循环

我不需要这个脚本来控制任何东西,我只需要它能让访问者看到,所以当他们在10:00访问时,他们会看到时钟上还剩下1小时,并以小时、分钟、秒的形式进行实时倒计时 我需要它来忽略客户的时区

我发现类似的答案,但有一个小时的窗口,它重置后,我需要它立即重置,我如何编辑它,以满足我的要求

以下是我的发现(计数到21:00,然后是一个小时的窗口,然后再次开始):

var日期;
var display=document.getElementById('time');
$(文档).ready(函数(){
getTime('GMT',函数(时间){
日期=新日期(时间);
});    
});
setInterval(函数(){
日期=新日期(date.getTime()+1000);
var currenthours=date.getHours();
var小时数;
var分钟;
var秒;
如果(当前小时数!=21){
如果(当前小时数<21){
小时数=20-当前小时数;
}否则{
小时=21+(24-当前小时);
}
分钟数=60-date.getMinutes();
seconds=60-date.getSeconds();
如果(分钟<10){
分钟='0'+分钟;
}
如果(秒<10){
秒='0'+秒;
}
display.innerHTML=小时+':'+分钟+':'+秒;
}否则{
display.innerHTML='livenow';
}
}, 1000);
函数getTime(区域,成功){
var url='1〕http://json-time.appspot.com/time.json?tz=“+区域,
ud='json'+(+新日期());
窗口[ud]=函数(o){
成功和成功(新日期(o.datetime));
};
document.getElementsByTagName('head')[0].appendChild((函数(){
var s=document.createElement('script');
s、 类型='text/javascript';
s、 src=url+'&callback='+ud;
返回s;
})());
}

我猜1小时重置是由于仅验证了几个小时。请尝试以下代码:

var date;
var display = document.getElementById('time');

$(document).ready(function() {
    getTime('GMT', function(time){
        date = new Date(time);
    });    
});

setInterval(function() {
    date = new Date(date.getTime() + 1000);

    var currenthours = date.getHours();
    var currentSecs = date.getSeconds();
    var hours;
    var minutes;
    var seconds;
    if (currenthours == 23 && currentsecs == 0){
        display.innerHTML = 'LIVE NOW';
    } else {
        if (currenthours < 23) {
          hours = 22 - currenthours;
        } else {
          hours = 23;
        }
        minutes = 60 - date.getMinutes();
        seconds = 60 - date.getSeconds();

        if (minutes < 10) {
            minutes = '0' + minutes;
        }
        if (seconds < 10) {
            seconds = '0' + seconds;
        }
     display.innerHTML = hours + ':' + minutes + ':' +seconds;
    } 
}, 1000);
var日期;
var display=document.getElementById('time');
$(文档).ready(函数(){
getTime('GMT',函数(时间){
日期=新日期(时间);
});    
});
setInterval(函数(){
日期=新日期(date.getTime()+1000);
var currenthours=date.getHours();
var currentSecs=date.getSeconds();
var小时数;
var分钟;
var秒;
如果(当前小时数==23和当前秒数==0){
display.innerHTML='livenow';
}否则{
如果(当前小时数<23){
小时数=22-当前小时数;
}否则{
小时=23;
}
分钟数=60-date.getMinutes();
seconds=60-date.getSeconds();
如果(分钟<10){
分钟='0'+分钟;
}
如果(秒<10){
秒='0'+秒;
}
display.innerHTML=小时+':'+分钟+':'+秒;
} 
}, 1000);

要获得准确的日持续时间,即使在夏令时更改期间,也应坚持使用日期算法

function time() {
    var d1 = new Date();
    var d2 = Date.UTC(d1.getUTCFullYear(),
                      d1.getUTCMonth(),
                      d1.getUTCDate() + (d1.getUTCHours() < 11 ? 0 : 1),
                      11);
    var dh = d2 - d1;
    var hours = Math.floor(dh / 3600000);
    var dm = dh - 3600000 * hours;
    var min = Math.floor(dm / 60000);
    var ds = dm - 60000 * min;
    var sec = Math.floor(ds / 1000);
    var dmilli = ds - 1000 * sec;
    setTimeout(time, dmilli);
    hours = ('0' + hours).slice(-2);
    min = ('0' + min).slice(-2);
    sec = ('0' + sec).slice(-2);
    document.querySelector('#the-final-countdown p').innerHTML = hours + ':' + min + ':' + sec;
}
time();
函数时间(){
var d1=新日期();
var d2=Date.UTC(d1.getUTCFullYear(),
d1.getUTCMonth(),
d1.getUTCDate()+(d1.getUTCHours()<11?0:1),
11);
var dh=d2-d1;
var小时=数学楼层(dh/3600000);
var dm=dh-3600000*小时;
var最小值=数学下限(德国马克/60000);
var ds=dm-60000*min;
var sec=数学下限(ds/1000);
var dmilli=ds-1000*秒;
设置超时(时间,dmilli);
小时=('0'+小时).slice(-2);
最小值=('0'+min).slice(-2);
秒=('0'+秒).slice(-2);
document.querySelector(“#最后的倒计时p”).innerHTML=hours+”:“+min+”:“+sec;
}
时间();

当前小时数!=21
只检查小时,不管是21:00还是21:59,或者介于这两者之间的任何时间。
function time() {
    var d1 = new Date();
    var d2 = Date.UTC(d1.getUTCFullYear(),
                      d1.getUTCMonth(),
                      d1.getUTCDate() + (d1.getUTCHours() < 11 ? 0 : 1),
                      11);
    var dh = d2 - d1;
    var hours = Math.floor(dh / 3600000);
    var dm = dh - 3600000 * hours;
    var min = Math.floor(dm / 60000);
    var ds = dm - 60000 * min;
    var sec = Math.floor(ds / 1000);
    var dmilli = ds - 1000 * sec;
    setTimeout(time, dmilli);
    hours = ('0' + hours).slice(-2);
    min = ('0' + min).slice(-2);
    sec = ('0' + sec).slice(-2);
    document.querySelector('#the-final-countdown p').innerHTML = hours + ':' + min + ':' + sec;
}
time();