这是我的代码:
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
选择一个吗?感谢
答案 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