2015-11-20 94 views
0

運行此腳本進行JavaScript倒計時(使用this plugin)時出現問題。它應該做的是採取開始時間,當前時間和結束時間,並顯示剩餘時間。Javascript倒計時代碼

如果我設置這些值與正常數字在紀元時間一切正常,但我的問題是:我如何設置當前時間和開始是真正的當前一個,這樣倒計時將動態?

我發現這行:Math.round(new Date().getTime()/1000.0);

但我不知道如何使它發揮作用,考慮到我在我的HTML文件的底部運行此腳本,該</html>標記之前。

這是腳本:

<script> 
$('.countdown').final_countdown({ 
    start: '[amount Of Time]', 
    end: '[amount Of Time]', 
    now: '[amount Of Time]' 
}); 
</script> 

這是我試圖解決它,但它不工作:

//get the current time in unix timestamp seconds 
var seconds = Math.round(new Date().getTime()/1000.0); 
var endTime = '1388461320'; 

$('.countdown').final_countdown({ 
    start: '1362139200', 
    end: endTime, 
    now: seconds 
}); 
+0

你是什麼意思動態? 'Math.round(new Date()。getTime()/ 1000.0)'會給你實際的時間,你想要什麼? –

+0

如果我在[時間量]的地方插入它,它將不會運行! @ZohaibIjaz – Giulio

+0

看,如果你需要它的參考,這是網站:http://infntest.altervista.org/previousMeetings.html – Giulio

回答

0

這聽起來像你想從當前時間倒計時到未來的某個固定點。

以下示例倒計時並顯示從現在(現在可能)到下一分鐘內某個隨機時間戳的剩餘時間。

function startTimer(futureTimeStamp, display) { 
 
    var diff; 
 

 
    (function timer() { 
 
    // how many seconds are between now and when the count down should end 
 
    diff = (futureTimeStamp - Date.now()/1000) | 0; 
 

 
    if (diff >= 0) { 
 
     display(diff); 
 
     setTimeout(timer, 1000); 
 
    } 
 
    }()); 
 
} 
 

 
// wait for the page to load. 
 
window.onload = function() { 
 
    var element = document.querySelector('#time'), 
 
     now = Date.now()/1000, 
 
     // some random time within the next minute 
 
     futureTimeStamp = Math.floor(now + (Math.random() * 60)); 
 

 
    // format the display however you wish. 
 
    function display(diff) { 
 
    var minutes = (diff/60) | 0, 
 
     seconds = (diff % 60) | 0; 
 
    minutes = minutes < 10 ? "0" + minutes : minutes; 
 
    seconds = seconds < 10 ? "0" + seconds : seconds; 
 
    element.innerHTML = minutes + ":" + seconds; 
 
    } 
 
    
 
    startTimer(futureTimeStamp, display); 
 
};
<span id="time"></span>

而且Math.round(new Date().getTime()/1000.0);會給你,因爲時代的秒數,但它可能會有點虛僞數字的舍入。我想你最好發言: var timestamp = Math.floor(Date.now()/1000));可能是更好的選擇。

另外我不確定爲什麼你需要開始時間,當前時間和結束時間。爲了找到剩餘秒數,你只需要知道計時器何時結束和當前時間。