这是我的代码:
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
中选择一个吗?在页面加载时?谢谢
最佳答案
它必须等待 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
关于页面加载时使用 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13240901/