Javascript setTimeout和重新加载iFrame的问题
我试图用不同的页面每2秒更改一个iframe的src,但到目前为止我失败得很惨。谁能告诉我这个代码有什么问题吗?它只加载最后一个文件5.html,而不加载其他文件1.html 2.html 3.html和4.htmlJavascript setTimeout和重新加载iFrame的问题,javascript,settimeout,Javascript,Settimeout,我试图用不同的页面每2秒更改一个iframe的src,但到目前为止我失败得很惨。谁能告诉我这个代码有什么问题吗?它只加载最后一个文件5.html,而不加载其他文件1.html 2.html 3.html和4.html function reloadiframe(nbr) { setTimeout(function () { document.getElementById("iframe").src = nbr + ".html"; }, 2000); }
function reloadiframe(nbr) {
setTimeout(function () {
document.getElementById("iframe").src = nbr + ".html";
}, 2000);
}
function reload() {
for (i=1;i<=5;i++) {
reloadiframe(i);
}
}
函数重载帧(nbr){
setTimeout(函数(){
document.getElementById(“iframe”).src=nbr+“.html”;
}, 2000);
}
函数重载(){
for(i=1;isetTimeout
不等待。所有超时都在几乎完全相同的时间触发,因为它们都在几乎完全相同的时间启动。只需一个小的更改即可解决问题:
function reloadiframe(nbr) {
setTimeout(function () {
document.getElementById("iframe").src = nbr + ".html";
}, 2000*i); // <== right here
}
function reload() {
for (i=1;i<=5;i++) {
reloadiframe(i);
}
}
函数重载帧(nbr){
setTimeout(函数(){
document.getElementById(“iframe”).src=nbr+“.html”;
},2000*i);//setTimeout
不等待。所有超时都在几乎完全相同的时间触发,因为它们都在几乎完全相同的时间启动。只需一个小的更改即可解决问题:
function reloadiframe(nbr) {
setTimeout(function () {
document.getElementById("iframe").src = nbr + ".html";
}, 2000*i); // <== right here
}
function reload() {
for (i=1;i<=5;i++) {
reloadiframe(i);
}
}
函数重载帧(nbr){
setTimeout(函数(){
document.getElementById(“iframe”).src=nbr+“.html”;
},2000*i);//您现在将重新加载延迟两秒。第1、2、3和4页实际上已加载,但很快被第5帧覆盖
使用reloadiframe
中的setTimeout
延迟下一次重新加载,使用setInterval
定期重新加载iframe或增加超时:
function reloadiframe(nbr) {
document.getElementById("iframe").src = nbr + ".html";
if (n <= 5) {
setTimeout(function () {
reloadiframe(nbr + 1);
}, 2000);
}
}
function reload() {
setTimeout(function () {
reloadiframe(i);
}, 2000);
}
您现在将重新加载延迟两秒。第1、2、3和4页实际上已加载,但很快会被第5帧覆盖
使用reloadiframe
中的setTimeout
延迟下一次重新加载,使用setInterval
定期重新加载iframe或增加超时:
function reloadiframe(nbr) {
document.getElementById("iframe").src = nbr + ".html";
if (n <= 5) {
setTimeout(function () {
reloadiframe(nbr + 1);
}, 2000);
}
}
function reload() {
setTimeout(function () {
reloadiframe(i);
}, 2000);
}
通过setTimeout
传递额外参数在IE中不起作用。@MattBall:真的吗?即使在IE6之后的最新版本中?我只是传递了MDC所说的内容-我在Mac上,所以我自己无法测试。这太愚蠢了。看,即使在IE8>中它仍然不受支持setTimeout
在IE中不起作用。@MattBall:真的吗?即使是在IE6之后的最新版本中?我只是在传递MDC所说的-我在Mac上,所以我自己无法测试。这太愚蠢了。看看,即使在IE8>中它仍然不受支持