javascript - 在每个循环中使用 setTimeout 不起作用

标签 javascript jquery ajax

<分区>

我有一个巨大的画廊,里面有大约 400 张图片。我做了一个按钮,这样我就可以从 DOM 和服务器中删除所有图片(通过对每个文件使用 ajax 请求)。

我尝试在 for each 循环中使用 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(function(el) { el.css("background-color","red"); }, 100, $(this));

关于javascript - 在每个循环中使用 setTimeout 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39331183/

相关文章:

javascript - 如何在网络浏览器中实现日志窗口?

java - 有什么方法可以在不复制 javascript 标签的情况下将 ajax 与 jSTL 自定义标签一起使用?

javascript - 更改部分属性

javascript - Handlebars 不解析?

javascript - HTML 与 Javascript.. 图像文件路径如何工作?

javascript - Angularjs 按特定元素过滤

javascript - 没有在 Jquery 日期选择器中获取完整的月份范围

javascript - jQuery 链式函数和 "this": Where is my syntax incorrect in this example?

javascript - Cypress 测试 : How To Compare Count Of Elements Before & After AJAX Call

ajax - 由于 Ajax,Tomcat session 空闲不工作