2016-03-27 43 views
0

我正在爲足球比賽進行jQuery倒計時(http://www.littlewebthings.com/projects/countdown/)。當倒計時完成時,它顯示不完整的功能。在特定時間後更改div內的文本

我希望jQuery在倒數完成90分鐘後將div內的'Live'單詞更改爲全部時間。

這裏是代碼

<div id="countdown"> 
    <div class="dash days_dash"> 
     <span class="dash_title">days</span> 
     <div class="digit">0</div> 
     <div class="digit">0</div> 
    </div> 

    <div class="dash hours_dash"> 
     <span class="dash_title">hours</span> 
     <div class="digit">0</div> 
     <div class="digit">0</div> 
    </div> 

    <div class="dash minutes_dash"> 
     <span class="dash_title">minutes</span> 
     <div class="digit">0</div> 
     <div class="digit">0</div> 
    </div> 

    <div class="dash seconds_dash"> 
     <span class="dash_title">seconds</span> 
     <div class="digit">0</div> 
     <div class="digit">0</div> 
    </div> 
</div> 

<div class="message" id="complete" style="display: none;">Live</div> 

<script language="javascript" type="text/javascript"> 
    jQuery(document).ready(function() { 
     $('#countdown').countDown({ 
      targetDate: { 
       'day':  11, 
       'month': 4, 
       'year':  2016, 
       'hour':  13, 
       'min':  0, 
       'sec':  0 
      }, 
      onComplete: function() { 
      $('#countdown').addClass('ended'); 
      $('#complete').slideDown(); 
      } 
     }); 
    }); 
</script> 
+0

爲什麼不使用純JavaScript? – PDKnight

+0

只是爲了澄清。你的意思是你想用「全職」替換文字「Live」嗎? – user1751825

+0

我會編輯我的問題 – user81244

回答

0

你可以簡單地使用後90分鐘時加入到日期對象:var newDate = new Date(originalDate.getTime() + 90 * 60000);

使用這個新的日期,然後你可以檢查當前的日期匹配或超過新的日期。獲取當前日期通過Date.now()完成。添加這一切了導致以下:

// Original date = March 30 2016 14:00:00 
var minutes = 90, 
    originalDate = new Date(1459339200000); 
    timedDate = new Date(originalDate.getTime() + minutes * 60000); 

// timedDate = originalDate + 90 minutes. 

if (Date.now() >= timedDate) { 
    // We are now 90 minutes later 
    // Replace div text. 
} 

裏面的if-statement可以更換DIV文本。我建議只使用一個div並替換文本;而不是有兩個獨立的div。

+0

他想設置一個計時器;) – PDKnight

+0

@PDKnight他呢?我在他的問題中看不到'timer'這個詞.. – Matthijs

+0

很好的問題,他沒有正確告訴我們他是否想要一個定時器的解決方案... – PDKnight

0

建立在@Matthjs在評論中說。此代碼將工作做好:

var specificDate = 1459346400000; //which is what March 30th 2016 is 
 
    var timeleft = specificDate - Date.now(); 
 
    setInterval(update, timeleft); 
 
    function update(){ 
 
    if (Date.now() >= specificDate) { 
 
    document.getElementById("output").innerHTML = "Time's Up"; 
 
    } 
 
    }
<div id="output">Still got time!</div>

這將檢查是否環路權當時間了。

+0

@Matthijs這個工程我也做了編輯 –

+0

(a)它沒有解決90分鐘的加法和(b)通過使用setInterval它會重複每個'timeleft'而不是隻發射一次。 – Timeout

+0

是的,我做了一個編輯後,我沒有改變評論@Timeout –

相關問題