【发布时间】:2013-04-01 23:45:01
【问题描述】:
我无法理解这个?
为什么是我的:
.each 循环运行是否正确,即使我在每个循环中将事情拖延 1000 毫秒?
问题是window.location.href命令在setTimeout完成之前运行TO EARLY?也提前结束的 stopload() 函数也是如此?我已经看到了一些关于递归 setTimeout 函数的东西,这里需要什么以及如何实现它?
function shop(clickedButton)
{
var buttonvalue = $(clickedButton).val();
startLoad();
pdel = 1000;
$("input:submit[value='buy']").each(function(index)
{
if(index != 1)
{
$("#backgroundPopup").text(index);
var submithing = this;
setTimeout(function(){ clicksubmitbutton(submithing); },pdel);
pdel += 1000;
}
});
stopLoad();
if(buttonvalue == "1")
{
window.scrollTo(0,0);
}
else
{
window.location.href = 'http://my.url';
}
}
【问题讨论】:
-
setTimeout不会拖延任何事情。您只需告诉 JavaScript 在将来执行某些操作, 当前脚本执行终止。如果你想在超时后执行一些事情,你必须把它放入/从超时调用。
标签: javascript jquery