본문 바로가기
플러그인

lazy load

by rienna 2020. 2. 12.

<script src="jquery.js"></script>

<script src="jquery.lazyload.js"></script>

 

https://appelsiini.net/projects/lazyload/v1/

 

 

 

사용하는 방법?

HTML 코드 끝에 둘 다 포함하십시오.

<script src="jquery.js"></script>

<script src="jquery.lazyload.js"></script>

 

이미지 태그를 변경해야합니다. 이미지의 주소는 data-original속성에 넣어야 합니다. 지연로드 된 이미지에 특정 클래스를 제공하십시오. 이렇게하면 어떤 이미지 플러그인이 바인딩되는지 쉽게 제어 할 수 있습니다.

<img class="lazy" data-original="img/example.jpg" width="640" height="480">

 

$(function() {

      $("img.lazy").lazyload();

});

 

프로 팁! 이미지 크기를 속성 width및 height속성 또는 CSS 로 설정해야합니다 . 그렇지 않으면 플러그인이 제대로 작동하지 않을 수 있습니다.

임계 값 설정

//기본적으로 이미지는 화면에 나타날 때로드됩니다. 

이미지를 더 일찍로드하려면 threshold매개 변수를 사용하십시오 . 

임계 값을 200으로 설정하면 이미지가 뷰포트에 나타나기 전에 200 픽셀을로드합니다.

$("img.lazy").lazyload({ threshold : 200 });

로딩을 트리거하는 이벤트

//click또는 과 같은 jQuery 이벤트를 사용할 수 있습니다

기본값은 사용자가 아래로 스크롤하여 이미지가 뷰포트에 나타날 때까지 기다리는 것입니다. 

사용자가 이미지를 클릭 할 때만 이미지를로드하려면 다음을 수행하십시오.

$("img.lazy").lazyload({ event : "click" });

 

프로 팁! 지연된 이미지 로딩과 같은 트릭에 사용할 수 있습니다. 다음 코드는 이미지를로드하기 전에 나머지 페이지로드가 완료된 후 5 초 동안 기다립니다.

.$(function() { $("img.lazy").lazyload({ event : "sporty" }); });

 

$(window).bind("load", function() { var timeout = setTimeout(function() { $("img.lazy").trigger("sporty") }, 5000); });

효과 사용

//기본적으로 플러그인은 이미지가 완전히로드되기를 기다립니다 show().

$("img.lazy").lazyload({ effect : "fadeIn" });

자바 스크립트가 아닌 브라우저의 대체

//JavaScript 이외의 사용자를 지원하려면 <noscript></noscript>블록 안에 실제 이미지 태그를 포함시킬 수 있습니다 .

<img class="lazy" data-original="img/example.jpg" width="640" heigh="480">

<noscript> <img src="img/example.jpg" width="640" heigh="480"> </noscript>

 

//자리 표시 자와 실제 이미지가 동시에 표시되지 않도록하려면 자리 표시자를 CSS로 숨 깁니다.

.lazy { display: none; }

 

//JavaScript 지원 브라우저의 경우 문서가로드 될 때 자리 표시자를 표시해야합니다. 플러그인을 초기화 할 때 동시에 수행 할 수 있습니다.

$("img.lazy").show().lazyload();

 

머리 위로! 이 모든 옵션은 JavaScript 이외의 사용자를 지원하려는 경우에만 수행해야합니다.

컨테이너 내부 이미지

//스크롤 막대가있는 div와 같이 스크롤 컨테이너 내의 이미지에 플러그인을 사용할 수도 있습니다.

 컨테이너를 jQuery 객체로 전달하십시오.

#container { height: 600px; overflow: scroll; }

$("img.lazy").lazyload({ container: $("#container") });

이미지가 순차적이지 않은 경우

//스크롤 후 페이지 플러그인이 언로드 된 이미지를 통해 루프됩니다. 루프는 이미지가 보이는지 확인합니다. 뷰포트 외부의 첫 번째 이미지가 발견되면 기본적으로 루프가 중지됩니다. 이것은 다음과 같은 가정을 기반으로합니다. 페이지의 이미지 순서는 HTML 코드의 이미지 순서와 동일합니다. 일부 레이아웃 가정에서는 이것이 잘못되었을 수 있습니다. failure_limit설정으로 로딩 동작을 제어 할 수 있습니다 .

$("img.lazy").lazyload({ failure_limit : 10 });

 

 

 

=====================

Replace SRC attribute with data-original

<img class="lazy" src="something.png">   =>  <img class="lazy" data-original="something.png"> =>  

$( 'img.lazy[src]' ).attr('src').replaceWith( 'data-original' );

or

 

$("img.lazy").each(function() {

   $(this).attr("data-original",$(this).attr("src"));

   $(this).removeAttr("src");

});

 

 

 

 

'플러그인' 카테고리의 다른 글

scrollbar plugin  (0) 2019.07.11
image gallery 관련 plugin  (0) 2019.07.11
animate.css  (0) 2019.06.19
swiper slider  (0) 2019.06.19