页面加载Javascript?

时间:2012-11-05 21:44:28

标签: javascript

这是我的代码:

var myarray=[(lots of things)];
var elem=document.getElementById('subtitle');
window.setInterval(function(){
    elem.innerHTML=myarray[Math.round((myarray.length-1)*Math.random())];
},30000);

这样可以正常工作,除了前30秒,没有任何反应。我必须等到重新运行才能发生任何事情。我可以在页面加载时从myarray选择一个吗?感谢

1 个答案:

答案 0 :(得分:3)

它必须等待30秒,因为当您设置间隔时,它不会立即开火!将其分解为函数并调用它。如果在页面上的元素之后添加脚本,则不必担心window.onload或文档就绪。

<div id="subtitle"></div>
<script>
    (function(){
        var myarray=[(lots of things)];
        var elem=document.getElementById('subtitle');

        function dispNum() {
            elem.innerHTML=myarray[Math.round((myarray.length-1)*Math.random())];
            window.setTimeout(dispNum,30000);
        }    
        dispNum();
    })();
</script>

示例:jsFiddle