Hướng dẫn sử dụng lazy load của jquery

Thảo luận trong 'HTML' bắt đầu bởi xuanha, 25/1/15.

Lượt xem: 1,307

  1. xuanha

    xuanha

    Tham gia ngày:
    28/12/14
    Bài viết:
    4
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Vui lòng đăng nhập hoặc đăng ký để nhìn thấy link xin giới thiệu cách sử dụng plugin lazyload của jQuery

    Định nghĩa

    Lazy Load nhằm làm trễ việc load ảnh trong trang web. Ảnh nằm bên ngoài khung hình sẽ không load lên cho đến khi người dùng cuộn trang web tới nó. Sử dụng Lazy Load ở những trang web dài với nhiều hình ảnh sẻ giúp trang được tải nhanh hơn, trong một số trường hợp còn giúp giảm tải cho máy chủ web.

    [​IMG]

    Cách sử dụng:

    Trước tiên, bạn cần download jQuery tại trang jquery.com và plugin Lazy Load tại plugins.jquery.com/lazyload/

    Sau đó thêm các thư viện bên trong thẻ <head> như sau:

    HTML:
    
    <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>
    
    <script type="text/javascript" src="js/jquery.lazyload.js"></script>
    
    
    Khi muốn 1 ảnh nào đó sử dụng lazyload, ta nên viết theo cú pháp sau:

    HTML:
    
    <img class="lazy" data-original="images/example.jpg"/>
    
    
    ta dùng chung một class cho tất các ảnh dùng lazyload( ở đây tôi dùng class=”lazy”) để ta có thể dễ dàng điều chỉnh các ảnh.

    lệnh jQuery như sau:

    HTML:
    
    $(function(){
    
    $("img.lazy").lazyload();
    
    });
    
    
    Cài đặt Threshold

    Mặc định khi ảnh được load, chúng sẽ hiển thị trên màn hình, nếu muốn ảnh được load sớm hơn, ta dùng thông số threshold, ví dụ cho giá trị threshold là 200, ảnh sẽ load 200pixels trước khi nó hiển thị trên khung hình

    HTML:
    
    $(function(){
    $("img.lazy").lazyload({
    threshold: 200;
    });
    });
    
    
    Bạn có thể sử dụng sự kiện của jQuery như click hoặc mouseover, ví dụ: mặc định nó sẽ đợi đến khi người dùng cuộn xuống mới hiển thị trên khung hình, để load ảnh chỉ khi người dùng click vào chúng, ta có thể dùng:

    HTML:
    
    $("img.lazy").lazyload({
    event : "click"
    });
    
    
    Mặc định plugin sẽ đợi đến khi ảnh load hết và gọi hàm show(), chúng ta cũng có thể chọn hiệu ứng ta muốn, như ví dụ này tôi dùng hiệu ứng fadeIn

    HTML:
    
    $("img.lazy").lazyload({
    effect : "fadeIn"
    });
    
    
    Ta cũng có thể sử dụng plugin cho việc cuộn một container, ví dụ thẻ div với thanh cuộn

    HTML:
    
    #contain {
    height: 600px;
    overflow: scroll;
    }
    
    $("img.lazy").lazyload({
    container: $("#contain")
    });
    
    
    Có 1 điều hạn chế là khi dùng lazyload images sẽ không tốt cho SEO, Vui lòng đăng nhập hoặc đăng ký để nhìn thấy link sẽ hướng dẫn các bạn cách khắc phục, vừa sử dụng lazyload image, vừa không ảnh hưởng đến SEO ở bài sau. như vậy ta sẽ không ảnh hưởng đến việc Vui lòng đăng nhập hoặc đăng ký để nhìn thấy link của google
     
  2. vanthai

    vanthai

    Tham gia ngày:
    3/1/15
    Bài viết:
    4
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Lazy load này rất hay, với những trang dài mà có nhiều hình ảnh, bạn sẽ thấy được sự khác biệt như thế nào về tốc độ load của trang so với không dùng lazyload. Tốt nhất là với trang nào bạn cũng nên dùng, vì nó khá là đơn giản
     
  3. tamnt

    tamnt http://wordpress.taisao.vn/

    Tham gia ngày:
    21/4/15
    Bài viết:
    9
    Điểm thành tích:
    1
    Giới tính:
    Nam
    ngoài ra lazy load cũng có nhiều style, bạn có thể sử dụng các style vào trang web của bạn ví dụ như style facebook load. bạn tham khảo tại đây: wordpress.taisao.vn/2997/css-tao-bieu-tuong-loading?show=2997#q2997
     

Chia sẻ trang này