2015-07-13 30 views
0

我使用jQuery和setInterval在我的元素中顯示倒計時,但它不會更新文本,但使用console.log我可以看到間隔正常運行。下面是代碼: 我叫我的jQuery的這個函數:區間不更新文本jQuery

function startTimer(duration, display) { 
    var timer = duration, minutes, seconds,days,hours; 
    setInterval(function() { 
    days = Math.floor(duration/(60*60*24)); 
    days_raw = days * (60*60*24); 
    hours = Math.floor((duration-days_raw)/(60*60)); 
    hours_raw = hours * (60*60); 
    minutes = Math.floor((duration-(hours_raw + days_raw))/(60)); 
    minutes_raw = minutes * (60); 
    seconds = Math.floor(duration-(hours_raw + days_raw + minutes_raw)); 
    seconds_raw = seconds; 
    if(days>0) 
{ 
    if(days===1){ 
    display.text(days+" Day"); 
} 
else 
{ 
    display.text(days+" Days");} 
} 
else if(days<=0) 
{ console.log(display); 
    display.text(hours+":"+minutes + ":" + seconds); 
} 

if (--timer < 0) { 
    timer = duration; 
} 
}, 1000); 
} 

這是我的jQuery代碼:

jQuery(document).ready(function() { 
$('[data-countdown]').each(function() { 
var $this = $(this), finalDate = $(this).data('countdown'); 
startTimer(finalDate,$this); 
}); 
}); 

。數據的值(「倒計時」)是由PHP來文件

+0

我刪除了PHP的標籤,因爲這無關用PHP它解決了這個問題在所有。 – Okonomiyaki3000

+0

@ Okonomiyaki3000我打電話給我的這些PHP文件 –

+2

那又如何?這完全不相關。 – Okonomiyaki3000

回答

0

的問題是時間的價值並沒有得到改變,所以我說duration--; if(duration<0) return;