javascript - 从 setTimeout 调用时,函数无法在 IE7 和 IE8 中正常工作

标签 javascript jquery

我在 IE7 和 IE8 上遇到了这个疯狂的 javascript 问题。下面的函数表达式加载一些图像。就是这样。非常简单。当直接调用该函数时,即 testmypatience() ,它会按预期工作,但如果我在超时内调用它,它将不会加载图像。该函数被调用,但图像不会加载。当由 jQuery 动画回调调用时,它也无法工作。

我已经尝试了所有方法,但无法使其正常工作,因此我们将非常感谢您的帮助。

var testmypatience = function($active){
                var arr = ['images/site/products-medium/m_cordial_pomegranateelderflower.png', 'images/site/products-medium/m_cordial_spicedberry.png', 'images/site/products-medium/m_cordial_strawberryelderflower.png', 'images/site/products-medium/m_750presse_coxsapple.png', 'images/site/products-medium/m_party_appleandelderflower.png', 'images/site/products-medium/m_squeezy_blackcurrentandapple.png', 'images/site/products-medium/m_270presse_cranberryandorange.png', 'images/site/products-medium/m_270presse_elderflower.png', 'images/site/products-medium/m_270presse_gingerlemongrass.png'];
                for (i = 0; i < arr.length; i++) {
                    var img, len;
                    img = new Image();
                    img.src = arr[i];

                    img.onload = function(){
                        console.log('done ' + this.src);
                    }
                }
            }

//this works
testmypatience()

//None of these work
    setTimeout(function(){
       testmypatience()
    }, 400)

    setTimeout(testmypatience, 400)

    jQuery('elm').animate({left:'1000px'},
    {
       duration:200,
       complete: testmypatience
    });

最佳答案

您不需要像解决方案中那样复杂。只需交换srconload的分配即可。

错误:

img = new Image();
img.src = arr[i];
img.onload = function(){ ... }

右:

img = new Image();
img.onload = function(){ ... }
img.src = arr[i];

关于javascript - 从 setTimeout 调用时,函数无法在 IE7 和 IE8 中正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166929/

相关文章:

javascript - 我的正则表达式搞砸了我其余的 javascript

javascript - Foursquare Places API for Venue Search axios 和浏览器响应的区别

javascript - 函数的返回值VS分配给var然后返回?

javascript - Rails 4 : how to use $(document). ready() 与 turbo-links

javascript - 使用 jQuery 显示 JSON 响应的数据

javascript - 使用 Web 前端列出 Azure 容器内的所有 Blob,并提供目录级支持

javascript - jQuery if 语句,语法

Javascript 获取文件名不起作用

javascript - bootstrap多选下拉菜单不下拉

javascript - 如何在加载之前不显示内容的情况下使用 jQuery 动画化幻灯片?