[英]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.