2015-12-31 68 views
2

我需要在2分鐘後在asp.net網頁上生成彈出窗口,或者在瀏覽用戶網站中的兩個網頁後進入基於某些網站數據庫條件,並且該彈出窗口應該與頁面刷新無關,page_load即使用戶刷新頁面無關緊要彈出窗口應該在確切時間之後出現,一旦彈出窗口出現,它不應出現在同一會話中。對於這個天氣,我需要在global.asax中生成新的會話來計算時間或計算瀏覽的頁數或者如何實現這個?如何在用戶進入asp.net網站一段時間後生成彈出框

+0

用戶setTimeout並打開彈出窗口。使用引導模式 –

+0

thnx作爲回覆,setTimeout()將再次執行,如果頁面重新加載,並再次彈出將出現對嗎?它不應該發生。 – Ray

+1

@saaduu:你將不得不使用一個javascript可訪問的cookie來存儲彈出狀態和倒數值的標誌。 –

回答

1

你有很多的條件,讓我們談談2分鐘後彈出顯示。

爲此,請使用javascript的setInterval Event

var timerID = setInterval(function() { 
// your code goes here... 
}, 60 * 1000 * 2); 

現在,這將在每隔2分鐘過去之後執行。如果你只想這樣做,請用下面的代碼取消註冊事件。

clearInterval(timerID); 

您也可以使用setTimeout,jQuery的延遲()函數和更多。

請參閱jQuery Documentation中關於延遲()的示例。 以下是示例代碼的主要部分。

$("div.first").slideUp(300).delay(800).fadeIn(400); 

this Example from w3schools爲setTimeout的

下面是代碼的setTimeout

$(function(){ 
    setTimeout(function(){ alert("Hello"); }, 3000); 
}); 

主要部分現在,您可以對這樣的js邏輯與邏輯後面的代碼獲得所有所需的條件。

+0

延遲不是'setTimeout'的替代品。延遲應該只用於基於jQuery的效果。這些信息可以在jQuery的文檔中找到您在烏拉圭回合答 –

+0

都提到@CerlinBoss 可以請你eleborate,告訴我何時使用延遲()的setTimeout()和setInterval()? 我不知道何時使用什麼。 –

+0

的setTimeout是一個** **時間延遲任務,setInterval的是** **連續延遲的任務,如果動畫排隊 –

0

使用條件localStoragesetTimeout運行一次,但它的瀏覽器特定。

setTimeout(function() { 
if(!localStorage.getItem('isPopupRendered')) { 
    // open your modal. 
    console.log('open Modal'); 
    localStorage.setItem('isPopupRendered', true); 
} 
}, 60 * 1000 * 2); 
相關問題