1、懶載入
原理:先將img標籤的src鏈結設為同一張(比如空白),然後給img標籤設定自定義屬性(比如 data-src),然後將真正的位址儲存在data-src中,當js監聽到該元素進入可視視窗時,將自定義屬性中的位址儲存到src屬性中。達到懶載入的效果。
優點:這樣做能防止頁面一次性向伺服器傳送大量請求,導致伺服器響應面,頁面卡頓崩潰等。
實現:
// 一開始沒有滾動的時候,出現在視窗中的也會載入
start()
;// 當頁面開始滾動的時候,遍歷,如果出現在視窗中,就載入
var clock;
//函式節流
$(window).on
('scroll'
,function()
clock =
settimeout
(function()
,200)}
)function
start()
})}或者直接使用jquery的lazyload
//ajax的complete裡加入$(
"img").
lazyload()
;2、條件載入,比如分頁
//滾動條觸底
$(window)
.scroll
(function()
.scrolltop()
;//滾動條與頂部的高度
var curheight =$(
this).
height()
//滾動條高度
var totalheight =
$(document)
.height()
//頁面總高度
if(scrolltop + curheight >= totalheight )
})
路由懶載入優化
首先得需要外掛程式支援 syntax dynamic import import vue from vue import vuerouter from vue router import first from components first import second from component...
懶載入之intersection observer
二話不說先上鏈結 最近在做效能優化。每乙個工程師 量積累到一定程度之後總有一天會遇到這個問題,那就是效能問題。而我在寫了快一年半的前端之後,也自然而然遇到了效能問題。其實效能問題之前就有遇到,只不過當時工程量比較小,覺得應該要等到成熟一點再考慮這個事情 事實證明這個思路是正確的 而效能優化真的是個大...
php之自動載入(懶載入)
有a類和b類,如果在a類例項化b類,最簡單直接的方法就是在b中使用include require once a的檔案,但是這種方法顯然是不友好的,在框架中葉不是這麼做的,在框架中使用的是自動載入的機制也成為懶載入。php中自動載入使用spl autoload register來完成在沒有指定類的情況...