JavaScript setTimeout 5 秒

JavaScript setTimeout 5 seconds

提问人:Zeeba 提问时间:3/18/2014 最后编辑:CommunityZeeba 更新时间:7/27/2023 访问量:44538

问:

试图在 5 秒后加载 JS,我似乎无法让它工作;我在论坛上能找到的最接近的是setTimeout的问题setTimeout

我尝试的是:

<script type="text/javascript">
    function()
    {
        var load = setTimeout(redirect, 5000);
        redirect.src = src="js/load.js";
    }
</script>

JavaScript 不是我最强的领域。

JavaScript 设置超时

评论

0赞 hsz 3/18/2014
50000是。请改用。50 seconds5000
1赞 epascarello 3/18/2014
什么?您的代码在当前状态下毫无意义。redirect
1赞 Frédéric Hamidi 3/18/2014
redirect应该是一个函数(或字符串,但不建议这样做)。它似乎是一个 DOM 元素。我建议你再读一遍文档

答:

14赞 Shadow Wizard Is Sad And Angry 3/18/2014 #1

假设您打算动态加载 JS 资源,这是执行此操作的方法。

首先,有这个:

<script type="text/javascript" id="redirect"></script>

和代码:

var load = setTimeout(function() {
    document.getElementById("redirect").src="js/load.js";
}, 5000);

评论

0赞 Zeeba 3/18/2014
伙计,你太棒了!+1 可以肯定的是,我的代码离得太远了,我不敢相信你明白我想做什么!
0赞 Ian 3/18/2014
当您可以动态创建元素并将其设置为将其添加到页面时,为什么还要费心使用空的脚本元素呢?我很惊讶用脚本元素设置作品实际上有效srcsrc
1赞 Shadow Wizard Is Sad And Angry 3/18/2014
@Ian我的旧习惯,出于某种原因,我不喜欢将脚本元素注入头部或身体。我更愿意提前知道我得到了什么元素。
0赞 Ian 3/19/2014
@ShadowWizard 有趣的是,我从未见过使用它。同样有效
1赞 dzny 3/18/2014 #2
var myFunction = function(){
    // your function stuff in here.
};
setTimeout(myFunction, 5000);

在这种情况下,该函数也与 setTimeout 分开使用。

-2赞 CMS 3/18/2014 #3

你必须创建一个循环函数来做你想要的。 喜欢这个:

(function myloop (i){

        setTimeout(function(){
            //HERE IS YOUR CODE DO WHAT YOU WANT
        },5000)
    })(i);