问答详情
源自:2-4 将无序预加载写成jQuery插件

插件中的源码并没有定义each和all, 就可以直接用吗

var imgObj = new Image();
$(imgObj).on('load error',function () {
    opts.each && opts.each(count);  //检查参数是否存在
    if (count >= len - 1){
        opts.all && opts.all();
    }
    count++;
});
imgObj.src = src;

function load() {
    var imgObj = new Image();
    $(imgObj).on('load, error', function () {
        opts.each && opts.each(count);
        if(count >= len){
            //所有图片加载完成
            opts.all && opts.all();
        } else {
            load();
        }
        count++;
    });
    imgObj.src = imgs[count];


提问者:加咖啡喵 2017-09-18 20:52

个回答

  • LenGxy
    2017-09-20 19:06:27

    插件源码中each和all的默认值都是null,所以调用preload()的时候需要传递这两个方法进去,http://img3.mukewang.com/59c24ba50001b1ac10850328.jpg