预加载网站图片

时间:2014-07-11 16:51:02

标签: javascript jquery

我有一个图像预加载脚本,它使用加载栏加载所有图像

一旦加载了所有图像,它将显示整个网站。

问题

百分比停止在80%。


请参见此处:nanomitetech.com/projects/stillmens/preloading.html


JS

(function ($) {
    var imgList = [];
    $.extend({
        preload: function (imgArr, option) {
            var setting = $.extend({
                init: function (loaded, total) {},
                loaded: function (img, loaded, total) {},
                loaded_all: function (loaded, total) {}
            }, option);
            var total = imgArr.length;
            var loaded = 0;

            setting.init(0, total);
            for (var i in imgArr) {
                imgList.push($("<img />")
                    .attr("src", imgArr[i])
                    .load(function () {
                    loaded++;
                    setting.loaded(this, loaded, total);
                    if (loaded == total) {
                        setting.loaded_all(loaded, total);
                    }
                }));
            }
        }
    });
})(jQuery);

1 个答案:

答案 0 :(得分:3)

您阵列中的某个图片有错误的src:

http://nanomitetech.com/projects/stillmens/images/benefits.png.png

应该是:

http://nanomitetech.com/projects/stillmens/images/benefits.png

这样可以阻止加载图片,因此您的加载事件监听器不会被调用此图像,而loaded计数器也不会增加。

4/5成功的图像加载= 80%