问答详情
源自:8-3 计时器setInterval()

以这节的这个思路应该怎么写时间倒数呢?初始值为10:00:00

<div class="daoshu">
    <a href="">10:00:00</a>
</div>
<script>
    var date = new Date();

</script>


提问者:慕慕0116261 2019-07-25 15:51

个回答

  • cinob
    2019-08-05 17:35:24
    已采纳

    <h1 id="text"></h1>
    <script>
        var toDate;
        toDate = new Date();
        toDate.setDate(toDate.getDate()+1);
        toDate.setHours(10);
        // 获取明天上午10点时间戳
        toDate = toDate.getTime();
        var t = document.getElementById('text');
        setInterval(function(){	
            // 获取现在时间戳
            now = new Date().getTime();
            t.innerText = "距离明天上午10点,还有" + Math.ceil((toDate - now) / 1000) + "秒";
        }, 1000);
    </script>

    如果想要时分秒形式,自己把秒换算一下就行

  • 美人鱼战士
    2019-09-09 15:25:28

        var attime;
        function clock() {
            var time = new Date();
            
            var hour = time.getHours();
            var minute = time.getMinutes();
            var second = time.getSeconds();
            
            hour = hour > 9 ? hour : "0" + hour;
            minute = minute > 9 ? minute : "0" + minute;
            second = second > 9 ? second : "0" + second;
            
            attime= hour + ":" + minute + ":" + second;
            document.getElementById("clock").value = attime;
        }


  • Ragnaros
    2019-07-26 11:54:12

    我觉得可以把这个字符先转成时间秒,然后递减该数值,显示字符的时候把数字再转成时分秒的格式,其他应该还有更加简单高效的办法

      <script>
              var hours = 10;       
               var minutes = 00;        
               var seconds = 00;        
               var total = hours * 3600 + minutes * 60 + seconds;        
               function countdown() {            
                   var a = document.getElementById("countdown");            
                   timestr = lessTen(Math.floor(total / 3600)) + ":" + lessTen(Math.floor(total / 60) % 60) + ":" + lessTen(total % 60);
                   a.innerHTML = timestr;            total--;        }                
               function lessTen(n){            
                   if (n<10 && n >=0){                
                   return  "0" + n;            
               }            
               return n;        
               }        
               setInterval(countdown, 1000);   
                </script>