ошибка в моем коде прелоадера изображения jquery на setInterval - PullRequest
0 голосов
/ 21 марта 2011

Привет всем, у меня есть ошибка в моем коде jQuery прелоадера изображений на setInterval. Пожалуйста, помогите, если у вас есть какие-либо другие сопряженные средства для достижения этого, я хочу скрыть все изображения в div image-box , и когда документ полностью загружен, исчезают изображения 1 после 1ниже мой код


    var i = 0;
    var int=0;
    jQuery(window).bind("load", function() {
        var int = setInterval("loadimg(i)",300);
    });
    function loadimg() {

        var imgs = jQuery('.image-box img').length;
        if (i >= imgs ) {
            clearInterval(int);
        }
        // fadein images 1 after 1 with 0.3 seconds delay
        jQuery('.image-box img').eq(i).fadeIn({'opacity': '1', 'display': 'block'}, 300);
        jQuery('.image-box').eq(i).addClass('done');
        i++;
    };

Ответы [ 2 ]

0 голосов
/ 10 апреля 2011

попробуйте использовать этот плагин "myimagepreloader".Вот ссылка myimagepreloader

0 голосов
/ 21 марта 2011

В вашем обработчике «load» переменная «int» не должна объявляться с var:

jQuery(window).bind("load", function() {
    int = setInterval("loadimg(i)",300);
});

(Также «int», вероятно, не лучшее имя переменной, так как оно можетвызвать незначительные конфискации мозга у программистов на C / C ++ / Java, которые смотрят на код.)

Вам не нужна эта строковая версия кода вызова функции при инициализации "setInterval":

jQuery(window).bind("load", function() {
    int = setInterval(loadimg, 300);
});

Вы не объяснили, что такое "ошибка", поэтому трудно предоставить больше помощи, чем эта.

...