Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) jQuery Предзагрузка изображений

Предзагрузка изображений


     04.03.2013    jQuery    1967

вопрос
Помогите настроить плагин, что бы прелоадер (gif) не работал под картинкой, когда она уже загрузилась.
демо
http://torrentbest.org
http://jsfiddle.net/xJVuv/7/

<div class="gallery"><img src="http://torrentbest.org/uploads/posts/2013-03/thumbs/1362380137_a691e717607a5b3d5877600e7814c9e5.jpg"></div>


.preloader { background:url("http://torrentbest.org/templates/white/images/preload.gif") center center no-repeat; display:inline-block;  }


$(function () {
    $.fn.preloadify = function (a) {
        function i(d) {
            if (f[d] == false) {
                g++;
                a.oneachload(b[d]);
                f[d] = true
            }
            if (a.imagedelay == 0 && a.delay == 0) $(b[d]).css("visibility", "visible").animate({
                opacity: 1
            }, 700);
            else if (a.delay == 0) {
                h(b[d], e);
                e += a.imagedelay
            } else if (a.imagedelay == 0) h(b[d], a.delay);
            else {
                h(b[d], a.delay + e);
                e += a.imagedelay
            }
        }
        a = $.extend({
            delay: 0,
            imagedelay: 0,
            mode: "parallel",
            preload_parent: "a",
            check_timer: 100,
            ondone: function () {},
            oneachload: function () {},
            fadein: 700
        }, a);
        var k = $(this),
            j, c = 0,
            e = a.imagedelay,
            g =
            0,
            b = k.find("img").css({
                display: "block",
                visibility: "hidden",
                opacity: 0
            }),
            f = [],
            h = function (d, l) {
                $(d).css("visibility", "visible").delay(l).animate({
                    opacity: 1
                }, a.fadein)
            };
        b.each(function () {
            $(this).parent(a.preload_parent).length == 0 ? $(this).wrap("<a class='preloader' />") : $(this).parent().addClass("preloader");
            f[c++] = false
        });
        b = $.makeArray(b);
        c = g = 0;
        e = a.imagedelay;
        j = setInterval(function () {
            if (g >= f.length) {
                clearInterval(j);
                a.ondone()
            } else if (a.mode == "parallel") for (c = 0; c < b.length; c++) b[c].complete == true && i(c);
            else if (b[c].complete == true) {
                i(c);
                c++
            }
        }, a.check_timer)
    }
});


  $(function(){
    $(".gallery").preloadify({ imagedelay:500 });
      $(".gallery").preloadify({ imagedelay:500 }); e.preventDefault();
    });

Ответа пока нет


Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы