setTimeout和window.location(location.href)不起作用

时间:2013-03-27 09:06:34

标签: javascript

我想在5秒内将用户重定向到index.php,但它会立即重定向我。我不想在这个简单的代码中使用jQuery。

<script>            
setTimeout(function(){location.href="index.php", 5000} );           
</script>

3 个答案:

答案 0 :(得分:31)

这是正确的方式......

setTimeout(function(){location.href="index.php"} , 5000);   

您可以在此处查看文档:

https://developer.mozilla.org/en/docs/DOM/window.setTimeout

语法:

var timeoutID = window.setTimeout(func, [delay, param1, param2, ...]);
var timeoutID = window.setTimeout(code, [delay]);

示例:

WriteDatePlease();
setTimeout(function(){WriteDatePlease();} , 5000);


function WriteDatePlease(){
    var currentDate = new Date()
    var dateAndTime = "Last Sync: " + currentDate.getDate() + "/"
                + (currentDate.getMonth()+1)  + "/" 
                + currentDate.getFullYear() + " @ "  
                + currentDate.getHours() + ":"  
                + currentDate.getMinutes() + ":" 
                + currentDate.getSeconds();
    $('.result').append("<p>" + dateAndTime + "</p>");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="result"></div>

答案 1 :(得分:2)

这也有效: setTimeout(&#34; window.location =&#39; index.php&#39;&#34;,5000);

答案 2 :(得分:1)

我知道这个帖子已经解决了,2年后我已经解决了这个问题,我个人刚刚使用了Joan的答案中的例子,并将其修改为完全按照我需要的方式工作在iframe中调用时,location.href不会重定向TOP或Parent页面。

因此,对于任何想要在5秒内重定向但在iframe内重定向以及重定向TOP / Parent页面的人来说,这是我如何根据Joan对原始问题的答案实现的。

    <script type="text/javascript">
    setTimeout(function(){window.top.location="index.php"} , 5000);
    </script>

如果你想通过使用PHP来调用它,我个人在这里做的就是如何使用echo命令在5秒后重定向用户。

echo '<script type="text/javascript">setTimeout(function(){window.top.location="index.php"} , 5000);</script>';

希望这可以帮助其他人寻找相同的解决方案。

由于