javascript - 从一组文件名中预加载一堆图像,完成 50% 后执行功能

标签 javascript function preload

嘿,我正在使用这个脚本

function preloader(images){
         var i = 0;
         imageObj = new Image();


         // start preloading
         for(i=0; i<=images.length; i++){
            imageObj.src=images[i];
            imageObj.onLoad = check(i, images.length / 2);
         };

    }

并将一堆图像传递给它进行预加载。

check() 函数是这样的

check = function(e,i){
        if( e == i ){
             run_fading_gallery(imgcode);
            $(".loading").hide();
        };
    }

但它似乎并没有起作用。

有什么想法吗?或者有什么我可以在线使用的吗?

最佳答案

问题是您只设置了 1 个 imageObj 并更改了它的源和事件处理程序。为什么不尝试为每个图像创建一个图像对象? (在你的循环中)。

更具体地说:

function preloader(images){
         var i = 0;

         // start preloading
         for(i=0; i<=images.length; i++){
            imageObj = new Image();
            imageObj.src=images[i];
            imageObj.onLoad = check(i, images.length / 2);
         };

    }

关于javascript - 从一组文件名中预加载一堆图像,完成 50% 后执行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2386886/

相关文章:

python - 根据端点递归划分列表

javascript - 从多个文件输入预加载图像

javascript - 将内容隐藏在预加载屏幕后面

jQuery:如何预加载声音?

java - 获取 JavaScript 创建的链接的内容

javascript - D3.js 在点击时缩放和平移到元素

c++ - 虚函数编译优化c++

python - `type` 真的是一个函数吗?

javascript - 在 Controller 中获取每个指定类型的名称

javascript - 获取给定日期的星期几