簡體   English   中英

如何每隔一小時更新一次變量,而無需用戶刷新頁面?

[英]How to update variable every full hour without refresh page by user?

控制器:

$number = rand(1, 100);

視圖:

<div id="lucky">
   Your lucky number: <?php echo $number ?>.
</div>

如何在不手動刷新頁面的情況下每小時更新$number的值? 我可以使用JavaScript / jQuery中的 setInterval ,但是我想完全在一個小時(0:00、1:00、2:00等)執行此操作。 做這個的最好方式是什么? 我可以使用PHP,CRON,JS和JS框架...

嘗試找出現在的時間,找出下一個完整小時需要多長時間,然后等待很長時間:

function doSomething() {
    var d = new Date(),
        h = new Date(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours() + 1, 0, 0, 0),
        e = h - d;
    if (e > 100) { // some arbitrary time period
        window.setTimeout(doSomething, e);
    }
    // your code(May be an ajax call to show lucky num)
}

e <100的檢查只是為了確保您不對5毫秒之類的時間執行setTimeout並使其瘋狂循環。

在這里你有一個解決方案

 var d = new Date(); var firstTrigger = 60000* (60 - d.getMinutes()); // This is for 1st Time Trigger setTimeout(function(){ console.log("1st time trigger", rand(1, 100)); // This is continuous trigger every full hour setInterval(function(){ console.log("Continuous trigger every hour", rand(1, 100)); }, 3600000); }, firstTrigger); 

在您的情況下,您將觸發代碼,而不是console.log

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM