2015-12-31 35 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); 
相关问题