![](/img/trans.png)
[英]How to use the setTimeout(function () to delay the drop down menu in JS?
[英]How to use specific Date as the delay in setTimeout function
我想顯示特定日期和時間的圖像,而無需用戶采取任何措施,也不會刷新頁面。
謝謝。
使用setTimeout在指定日期調用函數可以通過這種方式設置
var alertDate = new Date("March 22, 2017 15:20:00").getTime(),
onloadDate = Date.now(),
tOut = alertDate - onloadDate;
tOut > 0
? setTimeout(()=>{ console.log('ok') }, tOut )
: console.log('already past');
將new Date
監視設置為MDN的方法
與setInterval
相比,它不檢查每個時間段的值,而只有計時器起作用。
最大延遲超時/間隔值= 0x7FFFFFFF
= 24day 20h 31m 23s 647ms
因此,如果要調用函數,例如,在明年,可以將setInterval與較大的時間段和setTimeout結合使用
您可以使用setInterval
定期檢查日期,以及日期是否正確-顯示圖像。 這是一些簡單的偽代碼:
var dateToDisplayImageOn = new Date(...);
setInterval(function() {
if(dateToDisplayImageOn == today) {
displayImage();
}
}, 1000);
這可能是一個解決方案
var showDate = new Date("March 22, 2017 15:46:00");
var thisDate = new Date();
if(showDate == thisDate) {
// code for showing picture
};
您可以每隔一段時間檢查一下該語句是否為真
我認為您可以使用localStorage來實現這一點。 您可以將代碼粘貼到控制台中,它將起作用。
(function(){ //somewhere in your code to set showPicTime var time = new Date(new Date().getTime() + 10000); localStorage.setItem("showPicTime", time) //when page loads get showPicTime form localStorage var showPicTime = new Date(localStorage.getItem("showPicTime")).getTime(); var pollingHandler = setInterval(function(){ var now = new Date(); if(showPicTime - now < 0){ console.log("Show picture"); //kill the loop clearInterval(pollingHandler); } }, 1000); }())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.