日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jQuery页面滚动图片等元素动态加载实现

發(fā)布時間:2025/3/17 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jQuery页面滚动图片等元素动态加载实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、關(guān)于滾動顯屏加載

常常會有這樣子的頁面,內(nèi)容很豐富,頁面很長,圖片較多。比如說光棍節(jié)很瘋狂的淘寶商城頁面。
或者是前段時間寫血本買了個高檔耳機(jī)的京東商城頁面,或者是新浪微博之類。

這些頁面圖片數(shù)量多,而且比較大,少說百來K,多則上兆。要是頁面載入就一次性加載完畢。乖乖,估計(jì)黃花都變成黃花菜了。所以,我們得做點(diǎn)什么,避 免這種糟糕的狀況發(fā)生。目前很流行的做法就是滾動動態(tài)加載,顯示屏幕之外的圖片默認(rèn)是不加載的,隨著頁面的滾動,這個要顯示圖片的區(qū)域進(jìn)入了瀏覽器可是窗 口范圍,則觸發(fā)圖片的加載顯示。這種做法的好處是,一是頁面加載速度快(瀏覽器轉(zhuǎn)啊轉(zhuǎn)的圈圈或是進(jìn)度條很快就玩完了),二是節(jié)約了流量,因?yàn)椴豢赡苊總€用 戶瀏覽頁面時從頭滾到尾的。

貌似我上面提到的幾個站點(diǎn)就是采用的這種做法,例如,我以迅雷不及掩耳的速度從淘寶商城首頁截下來的已觸發(fā)滾動加載但是未加載完畢的圖片:

這是提高前端性能,優(yōu)化頁面加載速度很實(shí)用的做法。看上去這種技巧有些技術(shù)門檻,其實(shí)很簡單的。我們需要一個滾動事件,然后判斷元素是否在瀏覽器窗 口,然后,顯示圖片(或是其他元素)就可以啦。我在jQuery庫下寫了個實(shí)現(xiàn)此效果的插件,下面就將簡單展示講解此插件的使用以及滾動動態(tài)加載的實(shí)現(xiàn)。

二、jQuery滾動加載插件scrollLoading

雖然只有幾十行代碼,但是為了方便使用,我還是將其插件化了。插件名為jquery.scrollLoading.js,您可以狠狠地點(diǎn)擊這里下載(右鍵 – [目標(biāo)|鏈接]另存為),或是點(diǎn)擊這里下載mini壓縮版的。

demo
您可以狠狠地點(diǎn)擊這里:jQuery滾動加載圖片等demo,如果您的網(wǎng)速是在貧困線上掙扎,可以慢慢拖動滾動條,就可以很清楚的看到滾動加載的效果了;如果您的網(wǎng)速讓你引以為豪,哥,你需要很快的拖動滾動條才能瞥見效果。效果類似下面:

demo頁面中似乎有段破壞和諧的HTML片段,那是動態(tài)加載HTML后的效果,也就是說,此scrollLoading不僅可以用來滾動加載圖片,Ajax load頁面什么的也是可以的。

如果您看到下面的文字,可能是由于在其他網(wǎng)站或是RSS中閱讀本文,本文原地址:http://www.zhangxinxu.com/wordpress/?p=1259,本文作者:張鑫旭,來自張鑫旭-鑫空間-鑫生活,訪問原出處更多優(yōu)秀技術(shù)文章。

三、scrollLoading使用

不管怎樣,首先調(diào)用jQuery庫文件,還有jquery.scrollLoading.js,您可以直接在頁面的某處添上如下的代碼:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <script type="text/javascript" src="http://www.zhangxinxu.com/study/js/mini/jquery.scrollLoading-min.js"></script>

此插件的方法名就是scrollLoading,所以,直接:包裝器.scrollLoading();就可以實(shí)現(xiàn)滾動加載效果了,簡單的吧。如下:

$(".scrollLoading").scrollLoading();

表示所有class為scrollLoading的元素綁定了滾動加載的方法。
當(dāng)然,不可能真的就如此簡單,我們還需要做點(diǎn)小動作的。元素默認(rèn)是不加載的,那么真正的加載地址顯然要預(yù)先在元素上放置的,例如新浪微博默認(rèn)把頭像地址綁在了一個自定義的”dynamic-src”屬性上,見下圖:

在HTML5中,以data-開頭的自定義屬性都是合法的,且地址可以是圖片,頁面等。所以,我設(shè)定了綁定地址的自定義屬性為”data-url”,此屬性值設(shè)為真實(shí)的圖片(或頁面)地址就可以了。例如下面:

<div class="scrollLoading" data-url="loaded.html">加載中...</div>

會在滾動時加載名為loaded.html的頁面,并自動替換里面的內(nèi)容。

對于常用的圖片,還有一點(diǎn)小問題,就是其默認(rèn)的src圖片地址。其src地址不能是真實(shí)的圖片地址(否則會直接一次性全部加載),也不能是空地址或是壞地址,否則IE瀏覽器下會出現(xiàn)很驚悚的紅叉叉。。我的做法是默認(rèn)鏈接的是一個1px * 1px的gif透明圖片(大小很小),同時可以透出后面加載中g(shù)if動畫圖片,當(dāng)滾動加載的時候直接把此gif圖片替換掉。于是,對于圖片,可能就有類似下面的代碼:

<img class="scrollLoading" data-url="http://image.zhangxinxu.com/image/study/head/s180/1.jpeg" src="http://www.zhangxinxu.com/study/image/pixel.gif" width="180" height="180" style="background:url(http://www.zhangxinxu.com/study/image/loading.gif) no-repeat center;" />

四、scrollLoading可選參數(shù)

scrollLoading是個很簡單很小的插件(無注釋YUI compressor min版僅508B),所以參數(shù)也很少,就一個,見下表:

參數(shù)默認(rèn)釋義
attrdata-url獲取元素加載地址的屬性名

就這些了。此插件只適用于頁面默認(rèn)滾動條的動態(tài)加載。對于內(nèi)部div之類的滾動加載不支持。

轉(zhuǎn)載出處:http://www.zhangxinxu.com/wordpress/?p=1259

總結(jié)

以上是生活随笔為你收集整理的jQuery页面滚动图片等元素动态加载实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。