Javascript 将手动开始日期添加到我的倒计时计时器,它';s使用';新日期()';马上

Javascript 将手动开始日期添加到我的倒计时计时器,它';s使用';新日期()';马上,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个倒计时,我现在有这段代码。我从另一个帖子上取了下来,对它做了一些修改。我可能不必解释脚本是如何工作的,但以下是我希望它工作的方式: 在html属性中设置startdate和enddate 将该数据传递到两个变量“dataStart”和“dataEnd” 使用'dataStart'作为开始日期,使用'dataEnd'作为结束日期 从startdate到enddate的倒计时如下: 如果开始日期是在未来,不要开始倒计时,但是 让它在开始日期=当前日期时立即开始 如果开始日期为过去,则开始

我正在做一个倒计时,我现在有这段代码。我从另一个帖子上取了下来,对它做了一些修改。我可能不必解释脚本是如何工作的,但以下是我希望它工作的方式:

  • 在html属性中设置startdate和enddate
  • 将该数据传递到两个变量“dataStart”和“dataEnd”
  • 使用'dataStart'作为开始日期,使用'dataEnd'作为结束日期
  • 从startdate到enddate的倒计时如下:
  • 如果开始日期是在未来,不要开始倒计时,但是 让它在开始日期=当前日期时立即开始
  • 如果开始日期为过去,则开始倒计时,但显示金额 从当前日期到 结束日期

    var dataEnd=document.getElementById('countdown').getAttribute(“数据端”);
    var dataStart=document.getElementById(“倒计时”).getAttribute(“数据开始”);
    var_秒=1000;
    var _minute=_second*60;
    变量(小时)=(分钟)*60 ;;
    var _日=_小时*24;
    无功定时器;
    var tiles=document.getElementById('tiles');
    var tileClass=document.getElementById('tiles').classList;
    var countLabel=document.getElementById('countdown-label');
    var countDiv=document.getElementById('countdown');
    函数showLeving(){
    var end=新日期(dataEnd);
    var start=新日期();
    var距离=结束-开始;
    如果(距离<0){
    清除间隔(计时器);
    //将倒计时磁贴替换为“---”,并将标签替换为“销售结束”。
    tiles.innerHTML='--';
    countLabel.innerHTML='销售结束!';
    //将“显示”设置为“无”,因此当倒计时结束时,它将不再可见。
    countDiv.style.display='none';
    返回;
    }如果(距离<\u小时){
    //删除橙色背景并添加红色背景。
    瓷砖玻璃。去除(“彩色半”);
    tileClass.add('color-empty');
    countLabel.innerHTML='赶紧!销售在:'结束;
    }否则{
    //将“显示”设置为“块”,以便在倒计时未完成时显示。
    countDiv.style.display='block';
    }
    var天数=pad(数学楼层(距离/天数));
    var小时=pad(数学楼层((距离%_天)/_小时));
    var分钟=pad(数学楼层((距离%_小时)/_分钟));
    var秒=pad(数学地板((距离%_分钟)/_秒));
    tiles.innerHTML=days+':';
    tiles.innerHTML+=hours+':';
    tiles.innerHTML+=minutes+':';
    tiles.innerHTML+=秒+'';
    }
    定时器=设置间隔(显示剩余,1000);
    功能板(n){
    返回(n<10?'0':'')+n;
    }
    
  • 我有基本的javascript知识,但我自己无法理解

    var dataEnd = document.getElementById('countdown').getAttribute("data-end");
    var dataStart = document.getElementById('countdown').getAttribute("data-start");
    
    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var timer;
    var tiles = document.getElementById('tiles');
    var tilesClass = document.getElementById('tiles').classList;
    var countLabel = document.getElementById('countdown-label');
    var countDiv = document.getElementById('countdown');
    
    function showRemaining() {
    var end = new Date(dataEnd);
    var start = new Date();
    var distance = end - start;
    
    if (distance < 0) {
    clearInterval(timer);
    // Replaces the countdown tiles with '---' & the label with 'SALE IS OVER'.
    tiles.innerHTML = '---';
    countLabel.innerHTML ='SALE IS OVER!';
    // Sets display to none, so when the countdown is finished it will NOT be visible anymore.
    countDiv.style.display = 'none';
    return;
    } if (distance < _hour ) {
    // Removes the Orange background and adds the Red background.
    tilesClass.remove('color-half');
    tilesClass.add('color-empty');
    countLabel.innerHTML ='HURRY! SALE ENDS IN:';
    } else {
    // Sets display to block, so when the countdown is NOT finished it  will be visible.
    countDiv.style.display = 'block';
    }
    
    var days = pad(Math.floor(distance / _day));
    var hours = pad(Math.floor((distance % _day) / _hour));
    var minutes = pad(Math.floor((distance % _hour) / _minute));
    var seconds = pad(Math.floor((distance % _minute) / _second));
    
    tiles.innerHTML = days + ':';
    tiles.innerHTML += hours + ':';
    tiles.innerHTML += minutes + ':';
    tiles.innerHTML += seconds + '';
    }
    
    timer = setInterval(showRemaining, 1000);
    
    function pad(n) {
    return (n < 10 ? '0' : '') + n;
    }