簡體   English   中英

在一天中的特定時間調用 javascript function

[英]Call a javascript function at a specific time of day

例如我想在上午 10.00.00.00 打電話給 js function 我該怎么辦?

<script type="text/javascript">

var now = new Date();

var millisTill10 = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 30, 0, 0) - now;

setTimeout(function{openAPage(), setInterval(openAPage, 60*1000)}, millisTill10)

function openAPage() {

var startTime = new Date().getTime();
var myWin = window.open("http://google.com","_blank")
var endTime = new Date().getTime();
var timeTaken = endTime-startTime;


document.write("<br>button pressed@</br>")
document.write(new Date(startTime));
document.write("<br>page loaded@</br>")
document.write(new Date(endTime));
document.write("<br>time taken</br>")
document.write(timeTaken);

myWin.close()

}

</script>

我希望在 00.30 時從這段代碼中它會打開谷歌,然后每隔 1 分鍾它會再次打開它? 該代碼有什么問題?

您需要setTimeout來設置計時器和Date來計算計時器需要多長時間才能觸發。

var now = new Date();
var millisTill10 = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 10, 0, 0, 0) - now;
if (millisTill10 < 0) {
     millisTill10 += 86400000; // it's after 10am, try 10am tomorrow.
}
setTimeout(function(){alert("It's 10am!")}, millisTill10);

我在特定時間運行腳本的解決方案,順便說一句,沒有錯誤檢查負超時。

//year, month 0-11, date, hour, min (can add ,sec,msec)
var eta_ms = new Date(2015, 0, 21, 17, 0).getTime() - Date.now();
var timeout = setTimeout(function(){}, eta_ms);

假設代碼位於將在 10:00 之前加載並且仍會在 10:00 被查看的網頁上,您可以使用setTimeout()設置一個定時事件。 該函數需要一些 JS 語句來執行,以及它應該執行之前的毫秒數。 您可以使用內置的日期函數輕松找到第二部分。

嘗試這個

 $(document).ready(function() { setTimeToTrigger(); }); function setTimeToTrigger(){ var dt = new Date(); var hour = dt.getHours(); var minute = dt.getMinutes(); var seconds = dt.getSeconds(); if(hour<10){ nexthour=9; }else if(hour<22){ nexthour=21; }else{ nexthour=23-hour+9; } delaytime=(nexthour-hour)*60*60+(59-minute)*60+(59-seconds); alert('will be triggered in:'+ delaytime + ' seconds'); setTimeout( function() { alert("The time is 10:00"); }, delaytime*1000); }
 <html> <head> <title>alert at specific time</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> </head> <body> <h3>Alert at at 10:00 AM and 10:PM</h3> </body> </html>

暫無
暫無

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

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