0
모든 작은 이미지가 $ (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 : 예, 이미지 객체를 사용하여 물건을 미리로드하는 것이 가장 오래된 방법입니다. 나는 지난 millenium 이후 그것을 사용 해왔다 :) – Flambino
OK thanks man. 하지만 이미지 태그를 DOM에 추가해야합니까? 이미지 개체를 단독으로 사용할 수 있습니까? 나는 지금'new Image(). src = $ (this) .attr ('href');'를 사용하고 있습니다. 감사. – Vincent