欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jquery插件lazyload.js延遲加載圖片的使用方法

 更新時(shí)間:2014年02月19日 11:02:53   作者:  
lazyload.js是一個(gè)基于JQuery的插件,可以用來緩沖加載圖片。下面介紹這個(gè)插件的使用方法

如果一個(gè)網(wǎng)頁很長并且有很多圖片的話,下載圖片就需要很多時(shí)間,那么就會(huì)影響整個(gè)網(wǎng)頁的加載速度,而這款延遲加載插件,會(huì)通過你的滾動(dòng)情況來加載你需要看的圖片,然后它才會(huì)從后臺(tái)請(qǐng)求下載圖片,最后顯示出來。通過這個(gè)插件,可以在需要顯示圖片的時(shí)候,才下載圖片,從而可以減少服務(wù)器的壓力,提高頁面加載速度。

Lazy Load 插件原理

修改目標(biāo)img元素的src屬性為orginal屬性,從而中斷圖片的加載。檢測(cè)滾動(dòng)狀態(tài),然后把網(wǎng)頁可視區(qū)域中的img的src屬性還原然后加載圖片,從而制造了一種緩沖加載的效果。代碼引入方法:

復(fù)制代碼 代碼如下:

<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/jquery.lazyload.js"></script>
<script type="text/javascript">
    $(document).ready(
    function($){
    $("img").lazyload({
         placeholder : "images/grey.gif", //加載圖片前的占位圖片
         effect      : "fadeIn" //加載圖片使用的效果(淡入)
    });
    });
</script>

但是現(xiàn)在,很多Javascript大牛分析得出,這個(gè)插件其實(shí)并沒有真正的起到緩加載的作用。確實(shí)是這樣,官方也已經(jīng)給出了說明和解決方法了。

其實(shí)原因就在于在新版的瀏覽器中,即使我們刪除了Javascript控制的src屬性,瀏覽器仍然會(huì)去加載這個(gè)圖像。

那么我們?cè)撛趺唇鉀Q呢?其實(shí)也很簡單,需要直接修改HTML的結(jié)構(gòu),在img標(biāo)簽中添加新的屬性,把src屬性的值指向占位圖片,添加data-original屬性,讓其指向真正的圖像地址。比如:

復(fù)制代碼 代碼如下:

<img src="img/grey.gif" data-original="img/example.jpg" >

當(dāng)然,在上面的代碼中我們把頁面內(nèi)的所有圖片都延遲加載了,但有些時(shí)候我們并不希望這樣,因?yàn)橛行﹫D片并不想然他們延遲加載,那么我們可以這樣只需做:

如只緩沖加載類main下的圖像

復(fù)制代碼 代碼如下:

$(".main img").lazyload({
     placeholder : "images/grey.gif",
     effect      : "fadeIn"
});

加載掛載有l(wèi)azy類的圖像:

復(fù)制代碼 代碼如下:

$("img.lazy").lazyload({
     placeholder : "images/grey.gif",
     effect      : "fadeIn"
});

其他的以此類推,適當(dāng)做一下選擇器調(diào)整就行了。

lazyload.js 高級(jí)使用方法:

下面部分來自官方文檔,將官方文檔進(jìn)行了一下簡單的翻譯。

更周全的做法

我們不得不思考這樣一個(gè)問題。我們定義了這樣一個(gè)結(jié)構(gòu),那么網(wǎng)頁中,就不會(huì)加載源圖像了。只有當(dāng) Javascript 執(zhí)行,才會(huì)顯示這個(gè)源圖像。如果用戶的瀏覽器不支持或者用戶關(guān)掉了支持 Javascript 的選項(xiàng),那么我們的這個(gè)圖像就無法顯示出來。也就是說,如果沒有 Javascript 的支持,我們的圖像就無法顯示出來。

應(yīng)對(duì)這個(gè)問題,我們需要引入noscript 標(biāo)簽。大體思路如下:用 noscript 包含真實(shí)的圖像位置,當(dāng)瀏覽器不支持 Javascript,直接顯示圖像。

復(fù)制代碼 代碼如下:

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

對(duì)現(xiàn)有圖像,隱藏處理,使用 show()方法觸發(fā)顯示。

復(fù)制代碼 代碼如下:

.lazy {
  display: none;
}

這樣,如果瀏覽器不支持 Javascript,我們自定義的 img 就不會(huì)出現(xiàn),而顯示 noscript 里面的圖像。具體實(shí)現(xiàn)代碼如下:

復(fù)制代碼 代碼如下:

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

提前加載

默認(rèn)的情況是,當(dāng)你滾動(dòng)到圖片位置的時(shí)候,插件開始加載。這樣,用戶可能首先看到的是一個(gè)空白圖像,然后再緩慢出現(xiàn)。如果你想在用戶滾動(dòng)之前,提前加載這個(gè)圖像,你可以配置一下參數(shù)。

復(fù)制代碼 代碼如下:

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

threshold 這個(gè)參數(shù),就是用來提前加載的。上面這個(gè)語句的意思是,當(dāng)距離圖片還有200像素的時(shí)候,就開始加載圖片。

自定義觸發(fā)事件

默認(rèn)的觸發(fā)事件,是滾動(dòng),當(dāng)你滾動(dòng)的時(shí)候,就會(huì)檢查然后加載。你可以使用event屬性,設(shè)置你自己的加載事件,之后你可以自定義觸發(fā)這個(gè)事件的條件,然后去加載圖像。

復(fù)制代碼 代碼如下:

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

自定義顯示效果

默認(rèn)的圖片實(shí)現(xiàn)效果,就是沒有效果,下載完成之后,直接顯示出來。這樣的用戶體驗(yàn)并不好,你可以設(shè)置effect屬性,來控制顯示圖片的效果。例如

復(fù)制代碼 代碼如下:

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

fadeIn的效果就是,改變圖片的透明度,漸現(xiàn)的方式出現(xiàn)。

把圖像插入某個(gè)容器

大家如果使用智能手機(jī)的話,經(jīng)常去應(yīng)用網(wǎng)站下載應(yīng)用,他們通常使用一個(gè)橫著的容器,放一些手機(jī)截圖。使用container屬性,能很輕松在容器中實(shí)現(xiàn)緩沖加載。首先,我們需要用css定義這個(gè)容器,然后用這個(gè)插件進(jìn)行加載。

復(fù)制代碼 代碼如下:

#container { height: 600px; overflow: scroll; }
$("img.lazy").lazyload({
    container: $("#container")
});

加載不可見圖像

有部分圖像是不可見的,我們對(duì)其加上類似 display:none;等屬性的圖像。默認(rèn)的情況下,這個(gè)插件是不會(huì)加載隱藏的不可見圖像。如果我們需要用它加載不可見圖像,我們需要將 skip_invisible設(shè)置為false,代碼如下:

復(fù)制代碼 代碼如下:

$("img.lazy").lazyload({
    skip_invisible : false
});

好了,這就是lazyload.js這款插件的簡單介紹了。

相關(guān)文章

  • jquery ztree實(shí)現(xiàn)模糊搜索功能

    jquery ztree實(shí)現(xiàn)模糊搜索功能

    這篇文章主要為大家詳細(xì)介紹了jquery ztree實(shí)現(xiàn)模糊搜索功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • jQuery獲取Table某列的值(推薦)

    jQuery獲取Table某列的值(推薦)

    這篇文章主要介紹了jQuery獲取Table某列的值,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • JQUERY dialog的用法詳細(xì)解析

    JQUERY dialog的用法詳細(xì)解析

    本篇文章主要是對(duì)JQUERY中dialog的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-12-12
  • jQuery-Citys省市區(qū)三級(jí)菜單聯(lián)動(dòng)插件使用詳解

    jQuery-Citys省市區(qū)三級(jí)菜單聯(lián)動(dòng)插件使用詳解

    這篇文章主要為大家詳細(xì)介紹了jQuery-Citys省市區(qū)三級(jí)菜單聯(lián)動(dòng)插件使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • jQuery-onload讓第一次頁面加載時(shí)圖片是淡入方式顯示

    jQuery-onload讓第一次頁面加載時(shí)圖片是淡入方式顯示

    第一次打開一個(gè)頁面時(shí),讓加載好的圖片先隱藏,然后再執(zhí)行動(dòng)畫fadeIn,這里的load事件:當(dāng)所有子元素已經(jīng)被完全加載完成時(shí),load事件被發(fā)送到這個(gè)元素
    2012-05-05
  • EasyUI 結(jié)合JS導(dǎo)出Excel文件的實(shí)現(xiàn)方法

    EasyUI 結(jié)合JS導(dǎo)出Excel文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狤asyUI 結(jié)合JS導(dǎo)出Excel文件的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • jQuery子元素過濾選擇器用法示例

    jQuery子元素過濾選擇器用法示例

    這篇文章主要介紹了jQuery子元素過濾選擇器用法,結(jié)合實(shí)例形式分析了jQuery中nth-child、first-child、last-child、only-child等進(jìn)行子元素過濾操作的相關(guān)技巧,需要的朋友可以參考下
    2016-09-09
  • jquery $.each() 使用小探

    jquery $.each() 使用小探

    jquery each想必大家對(duì)此并不陌生吧,它的使用范圍還是比較廣泛的,下面與大家分享個(gè)示例來介紹jquery each的使用方法,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
    2013-08-08
  • jQuery-ui插件sortable實(shí)現(xiàn)自由拖動(dòng)排序

    jQuery-ui插件sortable實(shí)現(xiàn)自由拖動(dòng)排序

    這篇文章主要為大家詳細(xì)介紹了jQuery-ui插件sortable實(shí)現(xiàn)自由拖動(dòng)排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • jQuery實(shí)現(xiàn)穿梭框效果

    jQuery實(shí)現(xiàn)穿梭框效果

    這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)穿梭框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評(píng)論