2013-11-28 100 views
0

我曾尝试以下:页面加载后5秒后加载JavaScript?

<body id="myBody" onload = "setTimeout('a()', 5000)"/> 

这是正确的方法?我之所以要这样做是因为我的整个网站在页面加载时都会进行动画处理(如淡入淡出)。拥有我的JavaScript只会让动画变得不那么光鲜。

任何反馈意见。

+0

您可以发布代码的jsfiddle吗? – FluffyJack

回答

1
window.addEventListener("load", function() { 
    animation(); 
    setTimeout(otherOperation, 5000); 
}, false); 

function animation() {} 
function otherOperation() {} 

也许如果你正在使用jQuery的动画有所回调,您可以使用延迟所有其他JavaScript事件的触发,你可以使用这样的代码

+0

所以如果我复制此代码并将其添加到我的文档头部内的脚本标记中,它会正常工作吗? –

1

<body id="myBody" onload = "setTimeout(a, 5000)">
试试这个

+0

简单而有效,不知道为什么还没有被选为顶级。 – Mwspencer

0

像这样:

$(window).on('load', function() { 

    $('.someElements').animate({ 

     // properties to animate 
    }, 300, function() { 

     initScripts(); 
    }); 
}); 

function initScripts() { 
    // call all other functions here 
} 
+0

我使用CSS动画,但jquery的其他动画,我想在我的页面淡入后5秒钟发射。 –

0

浏览器始终加载所有脚本(如果有的话)当您打开网页时。所以这取决于你何时调用你的javascript函数。 试试这个:

document.ready(function(){ 
// your code 
}); 
or 
$(function(){ 
    // your code 
}); 

他们都确保所有网页上的元素都被装入。

1

此代码将工作。只需以毫秒为单位设置时间并在loadAfterTime函数中写入您的JS代码:

<script> 
window.onload = function(){ 
    setTimeout(loadAfterTime, 5000) 
}; 


function loadAfterTime() { 
// code you need to execute goes here. 
} 
</script>