JavaScript實作頁面滾動圖片加載
為什麼要寫這篇文章?
1.優化頁面很實用的方法,技術實現不難;
2.搜尋了相關內容的文章,好像都是用jQuery的方法,可是如果不用jQuery的站長難道就不能用這種方法了麼;
3.做技術分享也是在讓更多人幫自己測試,因為這個本人木有在項目中實際用到,都是自己琢磨的,所有如果有問題請大家指出,先謝謝了;
4.這個月的部落格還沒寫;
5.剛好木有工作任務,此時不寫更待何時...
現在的頁面大多都具有的特點- 內容豐富,圖片較多;像我們常瀏覽的淘寶,京東,團購網站之類的(本人網購控,屬於一個月不在網上花點錢就不痛快),一個頁面幾十張圖片那叫毛毛雨,所以現在流行起了一個方法- 滾動動態載入。這個方法能解決很大程度的HTTP請求,首先頁面只加載視窗顯示區的圖片,只有等到頁面滾動,且滾動到相應位置的時候再去加載圖片,這樣做網頁加載快了(請求少了,加載的東西少了能不提快麼)。在《高效能網站建立指南》第一章就說到,減少HTTP請求的重要性,這是提高網頁前端效能,優化頁面載入速度很實用的做法。
原理:
1.給頁面綁定圖片 3.然後再捲動過程中判斷元素是否進入目前瀏覽器視窗內;
4.最後載入圖片,當然載入什麼,使用什哪種使用者體驗都得由你決定;
難點
難點
難點標準和IE標準,每天前端的工作都在和它們打交道。思考下面的幾段程式碼
1.window.pageYOffset ? window.pageYOffset : window.document.documentElement.scrollTop
pageYOffset;
IE標準:window.document.documentElement.scrollTop
2.window.innerHeight ? 區的高度和寬度,以像素計.
DOM標準:innerheight 和innerwidth;
IE標準:innerheight 和innerwidth;
IE標準:document.documentElement 或ducument。 Rect().top + window.document. documentElement.scrollTop + window.document.body.scrollTop
目的:取得頁面元素的位置.
到正確值;
當瀏覽器為webkit核心時,document.documentElement.scrollTop值恆定為0,使用document.body;
,使用document.documentElement ; 當頁面沒有指定了DOCTYPE時,使用document.body),請確定知道的朋友幫忙指出下,不勝感謝。
細節:
1.因為真正的地址最初是在某屬性中(默認是xsrc,可自己設定),所以預設的圖片地址最好是一個像素的透明圖片,這樣可以避免在瀏覽器中出現紅X;
2.在圖片load的時候可以加入等待的圖片,這樣用戶才會知道這裡有圖片需要加載,良好的用戶體驗是前端一直所追求的(例子中有體現) ;
3.在圖片load成功後可以加入適當的顯示效果(例中木有體現,可以自己嘗試);
-------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------
JavaScript源碼如下:
var scrollLoad = (function (options) {
var defaults = (arguments.length == 0) ? src var defaults = (arguments.length == 0) ? time: 300} : { src: options.src || 'xSrc', time: options.time ||300};
var camelize = function (s) {
return s.replace(/-(w)/g, function (strMatch, p1) {
});
};
this.getStyle = 函數(元素、屬性) ) {
if (arguments.length != 2) return false;
if (!value) {
if (document.defaultView && document. defaultView .getCompulatedStyle) {
var css = 韠 value = css ? css.getPropertyValue(property) : null;
} elseif (element.current ement.currentStyle[camelize(property)];
}
'auto' ? '' : value;
};
var _init = function () { window.pageYOffset : window.document.documentElement.scrollTop,
offsetWindow = offsetPage + Number(window.incli; docImg = document.images,
;
if (!_len) return false;
var attrSrc = docImg[i].getAttribute(defaults.src),
i], tag = o.nodeName.toLowerCase();
if (o) {
Rect().top + window.document.documentElement.scrollTop + window.document.body.scrollTop; postWindow = postPage + Number(this.getStyle(o, 'height').replace('px', '')); Page && postWindow if (tag === "img" & o.setAttribute("src", attrSrc);o = null;
} };
window.onscroll = function () {
_init();
}, defaults.time);
return _init();
}) ;
scrollLoad();
demo下載
可傳遞一個參數設定src原位址與回應時間
型scroll time: 100 / /數位型
})

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數
