0

我有一个 javascript 定时重定向功能与以下代码一起正常工作,如果(且仅当)用户在页面自动重定向之前的等待期间单击站点中的任何位置,我希望取消此功能;

<script type="text/JavaScript">
<!--
setTimeout("location.href = 'http://www.myurl.html';",30000);
-->
</script>

我应该使用什么代码以及在哪里使用?谢谢!!

4

4 回答 4

2

您应该使变量成为全局变量,以便您可以从任何地方停止它。

var redirect = setTimeout(redirection, 30000);
document.body.onclick = function() {
    clearTimeout(redirect);
}
function redirecton() {
    location.href = 'http://www.myurl.html';
}
于 2013-08-27T13:36:03.807 回答
-1

Assuming you're using jQuery:

var timeout = setTimeout(function(){
    location.href = 'http://www.myurl.html';
},30000);

$("body").click(function(){
    clearTimeout(timeout);    
});
于 2013-08-27T13:35:09.603 回答
-1

用来window.clearTimeout阻止它。

<script type="text/JavaScript">
    var timeoutId = setTimeout("location.href = 'http://www.myurl.html';",30000);

    // for some element x
    x.onclick = function(){
            clearTimeout(timeoutId);
    }

</script>
于 2013-08-27T13:33:03.703 回答
-1

在 JavaScript 中:

var timeout = setTimeout("location.href = 'http://www.myurl.html';", 30000);

   window.onclick= function () {
        clearTimeout(timeout);
     }  

工作小提琴

注意:Fiddle 会在重定向时出错(因为 fiddle 在加载其他一些 url 时出现问题)。它工作正常..试试

Jquery让你的任务变得超级简单:

var timeout = setTimeout(function () {
    location.href = 'http://www.myurl.html';
}, 30000);

$("*").click(function () {
    clearTimeout(timeout);
});
于 2013-08-27T13:37:03.703 回答