JQuery - Slideshow, Gallery: последовательно загружайте картинки (следующие пять), а не все сразу - PullRequest
0 голосов
/ 04 января 2012

Я работаю над своего рода слайд-шоу для учебных материалов, изображений и т. Д.

Мой коллега упомянул кое-что, что немного беспокоит меня. Так как может случиться так, что в одном слайд-шоу будет более 50 изображений, до завершения загрузки страницы и запуска анимации слайдера требуется некоторое время. Мне было интересно, есть ли способ просто загрузить следующие 5 или 10 слайдов вместо загрузки всех сразу?

Может, кто-то из вас знает правильное решение этой проблемы?

Вот HTML-код:

<div id="galleria1" class="JSLgallery" width="640" height="450" data-interval="1000" data-fadeTime="0" data-animation="fade">
        <div class="JSLmask">
            <a href="#" class="show" >
                <img width="640" height="450" alt="" rel="Slider-Image" src="/LMS/JSLslider/Images/Pyramid/Folie1.jpg" />
            </a>
            <a href="#">
                <img width="640" height="450" alt="" rel="Slider-Image" src="/LMS/JSLslider/Images/Pyramid/Folie2.jpg" />
            </a>
            <a href="#">
                <img width="640" height="450" alt="" rel="Slider-Image" src="/LMS/JSLslider/Images/Pyramid/Folie3.jpg" />
            </a>
            <a href="#">
                <img width="640" height="450" alt="" rel="Slider-Image" src="/LMS/JSLslider/Images/Pyramid/Folie4.jpg" />
            </a>
            <a href="#">
                <img width="640" height="450" alt="" rel="Slider-Image" src="/LMS/JSLslider/Images/Pyramid/Folie5.jpg" />
            </a>
            <a href="#">
                <img width="640" height="450" alt="" rel="Slider-Image" src="/LMS/JSLslider/Images/Pyramid/Folie6.jpg" />
            </a>
        </div>
    </div>

Заранее спасибо,

Mario

1 Ответ

1 голос
/ 04 января 2012

Вы можете отложить загрузку изображений, используя множество методов, одна из которых выглядит так:

a) Определите URL вашего изображения в атрибуте, отличном от src (например, isrc), для всех изображений, кроме первого.

<img width="640" height="450" alt="" rel="Slider-Image" isrc="/LMS/JSLslider/Images/Pyramid/Folie1.jpg" />

b) В коде запуска вашей страницы и при каждом событии «переход к следующему слайду» вы можете позвонить:

function loadMoreImages() {
    var limit = 5;
    var i = 0;
    $('img[isrc]').each(function() {
        if(i < limit) {
            $(this).attr('src', $(this).attr('isrc'));
            $(this).removeAttr('isrc'));
        }
        i++;
    });
}

$(document).ready(function() { 
    loadMoreImage(); 
    $('#yournextbutton').click(function() { loadMoreImage(); });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...