Полезные заметки по веб-программированию PHP, Symfony, Propel, Doctrine, JS, jQuery, ExtJS, HTML, CSS, …

jQuery – загрузка изображений по очереди с прелоадером

Posted on Апрель 1, 2011


Небольшая заметочка на тему, как красиво подгрузить картинки на html страничке по очереди да еще и с прелоадером.

Итак, зная количество изображений, для начала необходимо создать структуру "галереи". Расмотрим пример из 2-х изображений:

<div class="img-container">
  <div class="loading img1">
    Loading, pls wait! 
  </div>
  <div class="img img1"></div>
</div>
<div class="img-container">
  <div class="loading img2">
    Loading, pls wait! 
  </div>
  <div class="img img2"></div>
</div>


Код, естественно, генерируется, например средствами php.

На данном этапе на экране должно получится 2 контейнера определенных размеров с прелоадером по центру.
Далее дело за javascript'ом.

function loadImg(imgs) {
  var img = imgs.shift();
  if (img != undefined) {
    $('div.img.' + img[0]).html('').append(
      $('<img>').attr('src', img[1]).load(function() {
        $('div.loading.' + img[0]).hide();
        $('div.img.' + img[0]).show('slow');
        loadImg(imgs);
      })
    );
  }
}
 
var imgs = new Array(['img1', 'img1.png'],['img2', 'img2.png']);
 
$(document).ready(function() {
  loadImg(imgs);
});

Итого, пользователь после загрузки страницы видит 2 прелоадера на местах, где должны быть картинки. После чего по очереди начинают подгружаться определенные изображения, заменяя собой все те же прелоадеры

Связано с категорией: jQuery Оставить комментарий
Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment

Нет обратных ссылок на эту запись.