2017-04-10 143 views
-2

是否有js函數可以讓我在特定時間內顯示iframe?例如,第二天晚上7:30到7:00之間。僅在某些時間顯示iframe

+0

下午7:30和上午在用戶的時區或在您的Web服務器的時區7:00?如果用戶在上午6:59打開頁面並顯示iframe,是否希望它在一分鐘後自動消失,從而使用戶感到困惑? – nnnnnn

回答

1

這個問題已經回答過了。你可以在這裏找到它link。反正只是發佈答案。

var startTime = '7:00 AM'; 
var endTime = '7:30 AM'; 
var now  = new Date(); 

var startDate = dateObj(startTime); // get date objects 
var endDate = dateObj(endTime); 

var flag = now < endDate && now > startDate ? 'showFrame' : 'hideFrame'; // 
compare 
if(flag === 'showFrame') 
{ 
console.log(flag); 
// show Frame 
} 

function dateObj(d) { // date parser ... 
var parts = d.split(/:|\s/), 
date = new Date(); 
if (parts.pop().toLowerCase() == 'pm') parts[0] = (+parts[0]) + 12; 
date.setHours(+parts.shift()); 
date.setMinutes(+parts.shift()); 
return date; 
} 

小提琴:Please see this Fiddle

2

使用Date對象的以下方法,您應該能夠生成時間。

var today = new Date() 
var hour = today.getHours() 
var minutes = today.getMinutes() 

您可以在Date對象setInterval()每一分鐘,以找出是否是七點半,上午07點00分之間的調用。那麼您可以清除間隔,並設置另一個計時器以在上午7:00重新加載iframe。在那裏你setInterval再次檢查每分鐘

請注意:getHours()將返回小時以24小時時鐘,如果是下午7:00 today.getHours()輸出19

也有一個叫做時刻非常有用的庫。 JS,你可能想要考慮JS時間問題(似乎只是找到7:30和7:00的矯枉過正)see here