Я написал функцию, которая будет загружать все большие изображения из галереи лайтбоксов, на которые ссылается ссылка (для тех, кто не знает) после загрузки всех небольших изображений $ (window) .load().Работает ли функция предварительной загрузки jQuery Image?
Вот код:
$(window).load(function() {
if ($('ul#gallery').length > 0) {
// make a container, fill in images and attach it to the page body
var c = $("<div />").attr({style: 'display: none', id: 'gallerypreload'});
$("ul#gallery li > a").each(function() {
$('<img />').attr('src', $(this).attr('href')).appendTo(c);
});
c.appendTo('body');
}
});
галерея выглядит следующим образом:
<ul id="gallery">
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
</ul>
Я хочу, чтобы это сделать, потому что браузер должен загрузить все эскизы, а потом поджать большие изображения для просмотр. Кроме того, я написал какой-то эффект затухания, который запускается также $ (window) .load().
Мой вопрос: ВСЕ ли браузеры загружают изображения, прикрепленные к корпусу в контейнере? Следовательно, он не отображается, теоретически они не должны загружать изображения или они? Должен ли я стиль или мой подход работает?
Спасибо.
Работает ли это только в HTML5 или в старых браузерах? – Vincent
@ Vincent: Да, использование объектов Image для предварительной загрузки - самый старый метод. Я использую его с последнего тысячелетия :) – Flambino
ОК спасибо человеку. Но нужно ли тогда добавлять теги изображений к dom? Может ли объект изображения оставаться автономным? Теперь я использую 'new Image(). Src = $ (this) .attr ('href');'. Благодарю. – Vincent