2016-01-25 33 views
0

我每倒計時30秒都會重新開始倒計時。在觀衆間存儲數據

var interval = 31000; 

    function reset() { 
localStorage.endTime = +new Date + interval; 
    } 

    if(! localStorage.endTime) { 
reset(); 
    } 

    setInterval(function() { 
var remaining = localStorage.endTime - new Date; 
if(remaining >= 0) { 
    $('#timer').text(Math.floor(remaining/1000)); 
} else { 
    reset(); 
} 
    }, 100); 

我需要找到一種在整個服務器上進行倒計時的方法。所以每個觀衆都會經歷相同的倒計時。有任何想法嗎?

+0

從服務器端設置值。可以通過AJAX發送,也可以在服務器端渲染期間直接打印。 –

回答

0

您可以將該代碼放在單獨的js文件中的IIF中,並將其排除在您網站的每個頁面上,並且它應該可以工作,因爲本地存儲變量在您網站的每個頁面中都可用。

(function(){ /*... your code ...*/ })(); 

如果你想實現它在服務器端,所以你可以做同樣的方式,但不是唯一的局部變量的設定值,你還必須張貼在服務器,並在IIF調用首次檢索(使用AJAX)。

(function(){ /*get variable end time and 
    in callback set it to local storage ... your code ... 
    in reset function post new value of end time on server */ 
})();