jQuery.lazyload 是一個(gè)非常實(shí)用的 jQuery 插件,它可以讓我們的頁(yè)面圖片延遲加載,減少初始加載時(shí)間,提高頁(yè)面性能。jQuery.lazyload 還可以使用回調(diào)函數(shù),當(dāng)圖片被成功加載后,就會(huì)調(diào)用這個(gè)函數(shù)。下面我們來(lái)看一下示例代碼:
$("img.lazy").lazyload({ effect: "fadeIn", callback: function(element) { console.log("圖片 " + element.attr("src") + " 成功加載!"); } });
上面的代碼使用了 jQuery.lazyload,它會(huì)查找所有帶有lazy
類名的圖片并進(jìn)行圖片的延遲加載。同時(shí)通過(guò)effect: "fadeIn"
配置讓圖片在加載完成后進(jìn)行漸進(jìn)式顯示。關(guān)鍵在于使用了回調(diào)函數(shù)callback
,當(dāng)圖片成功加載后,就會(huì)調(diào)用這個(gè)函數(shù)并輸出一條帶有圖片地址的提示信息。
使用回調(diào)函數(shù)非常簡(jiǎn)單,只需要在配置項(xiàng)中添加callback
屬性并指定一個(gè)函數(shù)即可。這個(gè)函數(shù)中要傳入一個(gè)參數(shù)element
,它表示當(dāng)前成功加載的圖片元素。我們可以通過(guò)element.attr("src")
獲取到圖片的地址信息來(lái)輸出提示信息。
在實(shí)際項(xiàng)目開(kāi)發(fā)中,我們可以使用回調(diào)函數(shù)來(lái)完成圖片加載完成后的操作,比如圖片顯示后進(jìn)行一些動(dòng)畫(huà)效果、調(diào)整圖片大小等等。此外,回調(diào)還可以配合threshold
屬性來(lái)優(yōu)化圖片加載,當(dāng)圖片距離瀏覽器窗口還有一個(gè)指定的距離時(shí),就開(kāi)始加載圖片,達(dá)到優(yōu)化效果。