Pat*_*Neo 2 javascript jquery redirect settimeout
我的问题是关于如何杀死已经加载的重定向.
我有一个页面打开,在到达目的地之前设置了10秒的延迟:
var strUrl = /*from query string, or somewhere else..*/
window.onload = function()
{
window.setTimeout('redirect(strUrl)', 10000);
}
function redirect(strUrl)
{
document.location=strUrl;
}
Run Code Online (Sandbox Code Playgroud)
现在在HTML体中我有一些UI元素,2个按钮(继续,书签),1个复选框(不再显示,..)
就像是:
<body onOrientationChange="smartOrientation();">
<div id="img_logo">
<img src="#">
</div>
<div id="txt">
<p>
...blabla...
</p>
</div>
<div id="btn_bookmark">
<a href=""
class="button green"
name="name"
type="submit"
value="Bookmark">Bookmark
</a>
</div>
<!-- checkboxes,..etc -->
</body>
Run Code Online (Sandbox Code Playgroud)
现在我想要的是始终将setTimeout重定向激活,但是如果在那10秒内.用户点击复选框或书签按钮,我希望它打破/停止.
伪:
onload:setTimeOut(URL,10sec); - 1,.. 2,.. 3,..
监听器:if(#div1 ||#div2 || ..#divN)被点击? - >立即停止/ BREAK setTimeout(杀掉10秒炸弹)
ps(Q面):我使用jquery,并在dom.ready()之后设置了onload,因为在那个whay dom.ready总是比onload快一点.因为这会有种族问题吗?
在变量中声明超时:
var t = window.setTimeout('redirect(strUrl)', 10000);
Run Code Online (Sandbox Code Playgroud)
然后使用该变量
clearTimeout(t);
Run Code Online (Sandbox Code Playgroud)
杀了它
除此之外:使用document.ready()或onload,以防止你自己的疯狂赛车条件.
| 归档时间: |
|
| 查看次数: |
5803 次 |
| 最近记录: |