1. 程式人生 > 程式設計 >javascript實現倒計時效果

javascript實現倒計時效果

本文例項為大家分享了javascript實現倒計時效果的具體程式碼,供大家參考,具體內容如下

首先先寫一個佈局

<!--倒計時-->
<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <style>
    #numbers p {
      position: absolute;
      font-size: 100px;
      left: 50%;
      top: 30%;
      margin-left: -29px;
      display:none;
    }
  </style>
</head>

<body>
  <div id="numbers">
    <p>3</p>
    <p>2</p>
    <p>1</p>
  </div>
</body>

</html>

javascript實現倒計時效果

用position:absolute使數字重合(display不為none時)

之後開始新增javascipt內容

<script type="text/javascript">
    window.onload = function () {
      var numbers = document.getElementById('numbers');
      var number = numbers.getElementsByTagName('p');
      var i = 0;
      number[i].style.display = 'block';
      i = 1;
      timer = setInterval(function () {
        if (i != number.length) {
          number[i - 1].style.display = 'none';
          number[i].style.display = 'block';
        } else {
          number[i - 1].style.display = 'none';
          clearInterval(timer);
        }
        i++;
      },1000)
    }
</script>

倒計時主要通過setInterval()來實現,每1秒重新整理一次。那麼問題來了,在頁面載入完成後一秒,setInterval()中的內容才開始執行,倘若我們需要在開啟頁面後立馬開始倒計時的話,就應先把3這個數字即number[0]展示出來。之後每秒需要顯示相應的數字,並將前一個數字隱藏。從1開始,當i的值不為number.length的時候,都執行相同的指令。當i為number.length時,只需將number[2]即1隱藏,並且清除定時器,否則倘若找不到對應的元素,就會出現Uncaught TypeError: Cannot read property ‘style' of undefined的錯誤。

至此,倒計時功能完成。

javascript實現倒計時效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。