Javascript 在每个循环中使用setTimeout不起作用
我有一个巨大的galerie,有大约400张照片。我制作了一个按钮,这样我可以从DOM和服务器中删除所有图片(通过对每个文件使用ajax请求) 我试图在for each循环中使用Javascript 在每个循环中使用setTimeout不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个巨大的galerie,有大约400张照片。我制作了一个按钮,这样我可以从DOM和服务器中删除所有图片(通过对每个文件使用ajax请求) 我试图在for each循环中使用setTimeout,为所有项目提供一个红色的背景色,仅用于测试。但是,如果我点击我的按钮,什么也不会发生 //run trough all pages pages.each ( function() { var items = $(this
setTimeout
,为所有项目提供一个红色的背景色,仅用于测试。但是,如果我点击我的按钮,什么也不会发生
//run trough all pages
pages.each
(
function()
{
var items = $(this).children("ul").children("li");
//run through each item of the page
items.each
(
function()
{
setTimeout(function() { $(this).css("background-color","red"); }, 100);
}
);
}
);
如果我在没有setTimeout的情况下运行这段代码,那么它可以工作。我还尝试了其他等待时间。不会抛出任何错误。这应该可以工作
setTimeout(function(el) { el.css("background-color","red"); }, 100, $(this));
请注意,当您在setTimeout中运行某个内容时,上下文会发生更改,
此
将指向我看到的其他内容。。。谢谢。这可能会有帮助。