黄色av免费观看_少妇久久久_久久黄色_伊人久久国产_日韩午夜激情_一本一道久久a久久精品综合

您當前的位置主頁 > 解決方案 > 瀏覽文章

緩沖加載圖片的jQuery插件lazyload.js 使用方法詳解

來源:解決方案 2012-09-12

快速提升網站銷量,使用365webcall在線客服系統

Lazy Load這個jQuery插件,是用來緩沖加載圖片的插件。如果一篇文章很長有很多圖片的話,下載圖片就需要很多時間。而這款插件,會檢測你的滾動情況,只有你要看到那個圖片的時候,它才會從后臺請求下載圖片,然后顯示出來。使用這個插件,可以在需要顯示圖片的時候,才下載圖片,所以可以減少服務器的壓力,避免不必要的資源下載。如果一個人不看下面的圖片,那加載下面的圖片就是一種浪費。

Lazy Load 插件原理

修改目標 img 的 src 屬性為 orginal 屬性,從而中斷圖片的加載。檢測滾動狀態,然后把可視網頁中的 img 的 src 屬性還原加載圖片,制造緩沖加載的效果。

但是現在,很多javascript大牛分析得出,這個插件其實并沒有真正的緩加載效果。確實是這樣,官方也已經給出了說明和解決方法了。

問題原因:在新版的瀏覽器中,即使你刪除了 Javascript 控制的 src 屬性,瀏覽器仍然會去加載這個圖像。

解決方法:直接修改 HTML 的結構,在 img 標簽中添加新的屬性,把 src 屬性的值指向占位圖片,添加 data-original 屬性,讓其指向真正的圖像地址。

例如:

這樣我們就需要先分析一下插件的優缺點,再決定是否要使用。

使用:

1.必須按照這種結構才有實際作用,需要對輸出進行定義。

2.可以節約服務器資源,并且有較好的用戶體驗。

3.如果圖片很大,當用戶滾動到目標位置,需要較長時間下載。

不使用:

1.增加服務器壓力,浪費系統資源。

究竟使用不使用,還是要看你自己的實際需求。如果你圖片比較少,就不必使用了,如果你圖片比較多,可以考慮一下。但是,使用的話,你可能需要把每一 個img 標簽上自己加上這個屬性,會稍微麻煩一點。潛行者m博客上,就用了這個插件,不過沒用使用官方說的那種結構,要的只是一個緩沖加載的效果。

開始使用 lazyload.js

第一步:加載相關文件。

很明顯,你要加載jquery和這個插件。你可以使用以下代碼,加載這幾個文件:

第二步:定義圖片結構。

按照官方的建議,定義你的img結構:

第三步:觸發這個插件,生效。

激活以下,你就可以在目標中使用了。

$(“img.lazy”).lazyload();

lazyload.js 高級使用方法:

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

更周全的做法

我們不得不思考這樣一個問題。我們定義了這樣一個結構,那么網頁中,就不會加載源圖像了。只有當 Javascript 執行,才會顯示這個源圖像。如果用戶的瀏覽器不支持或者用戶關掉了支持 Javascript 的選項,那么我們的這個圖像就無法顯示出來。也就是說,如果沒有 Javascript 的支持,我們的圖像就無法顯示出來。

應對這個問題,我們需要引入noscript 標簽。大體思路如下:用 noscript 包含真實的圖像位置,當瀏覽器不支持 Javascript,直接顯示圖像。對現有圖像,隱藏處理,使用 show()方法觸發顯示。這樣,如果瀏覽器不支持 Javascript,我們自定義的 img 就不會出現,而顯示 noscript 里面的圖像。具體實現代碼如下:

$(“img.lazy”).show().lazyload();

提前加載

默認的情況是,當你滾動到圖片位置的時候,插件開始加載。這樣,用戶可能首先看到的是一個空白圖像,然后再緩慢出現。如果你想在用戶滾動之前,提前加載這個圖像,你可以配置一下參數。

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

threshold 這個參數,就是用來提前加載的。上面這個語句的意思是,當距離圖片還有200像素的時候,就開始加載圖片。

自定義觸發事件

默認的觸發事件,是滾動,當你滾動的時候,就會檢查然后加載。你可以使用event屬性,設置你自己的加載事件,之后你可以自定義觸發這個事件的條件,然后去加載圖像。

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

自定義顯示效果

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

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

fadeIn的效果就是,改變圖片的透明度,漸現的方式出現。效果: effect demo page

把圖像插入某個容器

大家如果使用智能手機的話,經常去應用網站下載應用,他們通常使用一個橫著的容器,放一些手機截圖。使用 container 屬性,能很輕松在容器中實現緩沖加載。首先,我們需要用css定義這個容器,然后用這個插件進行加載。效果:vertical

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

$(“img.lazy”).lazyload({

container: $(“#container”)

});

加載不可見圖像

有部分圖像是不可見的,我們對其加上類似 display:none 等屬性的圖像。默認的情況下,這個插件是不會加載隱藏的不可見圖像。如果我們需要用它加載不可見圖像,我們需要將 skip_invisible 設置為 false

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

作者:潛行者m

文章來源:我愛水煮魚,轉載請注明出處。

文章編輯: 365webcall在線咨詢工具(www.365webcall.com)

我的評論

登錄賬號: 密碼: 快速注冊 | 找回密碼

主站蜘蛛池模板: 91在线视频播放 | 狠狠干天天 | 欧美成人一级 | 国产一级aa大片毛片 | 国产一区视频在线观看免费 | a一级黄色大片 | 一级做a爱片性色毛片高清 日本一区二区在线看 | 高清国产福利 | 亚洲国产成人一区二区 | 视频一区二区在线观看 | 国产亚洲高清在线精品不卡 | 午夜激情视频免费 | 成人国产在线看 | 国产午夜免费视频 | 成人一级视频 | 91精品国产91 | 亚洲欧洲av在线 | 精品三区视频 | 中文字幕四区 | 视频一区 中文字幕 | 久久美女色视频 | 91成人午夜性a一级毛片 | 免费一级欧美在线观看视频 | 1级黄色毛片 | 国产一区视频观看 | 一色屋任你操 | 日本中文高清 | 色偷偷一区 | 一级毛片手机在线观看 | 欧美性受xxxxxx黑人xyx性爽 | 91av大片| 精品国产一区二区三区天美传媒 | 国产69精品久久久久9999不卡免费 | 国内免费视频成人精品 | 色妞欧美| 欧美性生活视频免费 | 国产精品视频一区二区三区四 | 亚洲第一男人天堂 | 成人在线视频一区 | 极品美女一级毛片 | 亚洲卡通动漫在线观看 |