Javascript 倒计时计时器变为负数,而不是替换html
我制作了这个倒数计时器,以便在视频结束后显示视频。然而,它只是变成了负数。似乎与代码中隐藏过期日期后的内容相关的部分。这是一个Javascript 倒计时计时器变为负数,而不是替换html,javascript,timer,countdown,Javascript,Timer,Countdown,我制作了这个倒数计时器,以便在视频结束后显示视频。然而,它只是变成了负数。似乎与代码中隐藏过期日期后的内容相关的部分。这是一个 var releaseDate=新日期('2021年5月29日9:00 UTC+1'); var expiryDate=新日期('2021年11月10日凌晨01:00 UTC+1'); var cdNotice='此会话将在倒计时结束时自动显示'; var trDay=‘天’; var trHours=‘Hours’; var trMin=‘分钟’; var trSe
var releaseDate=新日期('2021年5月29日9:00 UTC+1');
var expiryDate=新日期('2021年11月10日凌晨01:00 UTC+1');
var cdNotice='此会话将在倒计时结束时自动显示';
var trDay=‘天’;
var trHours=‘Hours’;
var trMin=‘分钟’;
var trSec='秒';
var media=“\r\n”;
上面我设置了开始时间和到期时间
如果用户在倒计时结束前加载页面,则应显示倒计时。如果人员在倒计时后加载,则会显示视频。
如果用户在过期后加载页面,则应显示过期消息
计时器
var\u second=1000;
var _minute=_second*60;
变量(小时)=(分钟)*60 ;;
var _日=_小时*24;
无功定时器;
函数showLeving(){
var now=新日期();
var距离=发布日期-现在;
var gone=到期日-现在;
如果(距离<0&&G>0){
清除间隔(计时器);
document.getElementById('countdown')。innerHTML=“”;
document.getElementById('playsession')。innerHTML=media;
返回;
}
如果(消失<0){
清除间隔(计时器);
document.getElementById('playsession').innerHTML='此视频现在已过期';
返回;
}
var天数=数学楼层(距离/天数);
var小时=数学楼层((距离%\u天)/\u小时);
var分钟=数学楼层(距离%\u小时)/\u分钟);
var秒=数学楼层((距离%\u分钟)/\u秒);
document.getElementById(“倒计时”).innerHTML=''+cdNotice+'';
document.getElementById('countdown')。innerHTML+='';
如果(天数>0){
document.getElementById('countdown').innerHTML+=''+days+trDay+'';
}
如果(小时数>0){
document.getElementById('countdown')。innerHTML+=''+hours+trHours+'';
}
如果(分钟>0){
document.getElementById('countdown').innerHTML+=''+minutes+trMin+'';
}
document.getElementById('countdown')。innerHTML+=''+seconds+trSec+'';
document.getElementById('countdown')。innerHTML+='';
}
定时器=设置间隔(显示剩余,1000);
您的过期日期不正确,请在AM
之前添加空格,然后它将工作,否则您的条件将不满足,因为go=NaN
这样,它可以正常工作:
var expiryDate=new Date('2021年11月10日凌晨01:00 UTC+1')
请将代码放入堆栈片段中。很简单!只需点击照片右侧和列表左侧的“1 2 3”按钮。按钮看起来像[]。
<div id="countdown"></div>
<div id="playsession"></div>
<script>
var releaseDate = new Date('05/29/2021 9:00 UTC+1');
var expiryDate = new Date('10/11/2021 01:00AM UTC+1');
var cdNotice = 'This session will appear automatically when the countdown finishes';
var trDay = ' Days';
var trHours = ' Hours';
var trMin = ' Minutes';
var trSec = ' Seconds';
var media = "<div class=\"wistia_responsive_padding\" style=\"padding:56.25% 0 0 0;position:relative;\"><div class=\"wistia_responsive_wrapper\" style=\"height:100%;left:0;position:absolute;top:0;width:100%;\"><iframe src=\"https:\/\/fast.wistia.net\/embed\/iframe\/eiwj630vxa?videoFoam=true\" title=\"June 19 & 20 ~ Refresh & Revive ~ Gen Rabten ~ 1 Video\" allow=\"autoplay; fullscreen\" allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" class=\"wistia_embed\" name=\"wistia_embed\" allowfullscreen msallowfullscreen width=\"100%\" height=\"100%\"><\/iframe><\/div><\/div>\r\n<script src=\"https:\/\/fast.wistia.net\/assets\/external\/E-v1.js\" async><\/script>";
</script>
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = releaseDate - now;
var gone = expiryDate - now;
if (distance < 0 && gone > 0) {
clearInterval(timer);
document.getElementById('countdown').innerHTML = "";
document.getElementById('playsession').innerHTML = media;
return;
}
if (gone < 0) {
clearInterval(timer);
document.getElementById('playsession').innerHTML = '<p>This video has now expired</p>';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById('countdown').innerHTML = '<p>' + cdNotice + '</p>';
document.getElementById('countdown').innerHTML += '<p>';
if (days > 0) {
document.getElementById('countdown').innerHTML += '<b>' + days + trDay + '</b> ';
}
if (hours > 0) {
document.getElementById('countdown').innerHTML += '<b>' + hours + trHours + '</b> ';
}
if (minutes > 0) {
document.getElementById('countdown').innerHTML += '<b>' + minutes + trMin + '</b> ';
}
document.getElementById('countdown').innerHTML += '<b>' + seconds + trSec +'</b>';
document.getElementById('countdown').innerHTML += '</p>';
}
timer = setInterval(showRemaining, 1000);