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 &amp; 20 ~ Refresh &amp; 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>&nbsp;&nbsp;';
    }
    if (hours > 0) {
        document.getElementById('countdown').innerHTML += '<b>' + hours + trHours + '</b>&nbsp;&nbsp;';
    }
    if (minutes > 0) {
        document.getElementById('countdown').innerHTML += '<b>' + minutes + trMin + '</b>&nbsp;&nbsp;';
     }
    document.getElementById('countdown').innerHTML += '<b>' + seconds + trSec +'</b>';
    document.getElementById('countdown').innerHTML += '</p>';    
}

timer = setInterval(showRemaining, 1000);