jQuery的onloadstart()事件可以用于預(yù)加載圖像。當(dāng)圖像開(kāi)始加載時(shí),該事件會(huì)被觸發(fā)。這對(duì)于需要在頁(yè)面中展示許多圖片的網(wǎng)站來(lái)說(shuō)是很方便的。
下面是一個(gè)使用jQuery onloadstart事件的示例。假設(shè)有一個(gè)頁(yè)面要展示多張圖片,我們可以使用下面的代碼來(lái)預(yù)加載這些圖片:
$(document).ready(function(){ var images = ['image1.jpg', 'image2.jpg', 'image3.jpg']; var loaded = 0; for (var i = 0; i< images.length; i++) { var image = new Image(); $(image).on('loadstart', function(){ // 圖片開(kāi)始加載時(shí)調(diào)用 console.log('Image ' + (loaded + 1) + ' loading...'); }); $(image).on('load', function(){ // 圖片加載完成時(shí)調(diào)用 loaded++; console.log('Image ' + loaded + ' loaded!'); if (loaded == images.length) { console.log('All images loaded!'); } }); image.src = images[i]; } });
在上面的代碼中,我們首先創(chuàng)建了一個(gè)圖像數(shù)組,然后使用一個(gè)循環(huán)來(lái)加載每個(gè)圖像。對(duì)于每個(gè)圖像,我們創(chuàng)建了一個(gè)新的圖像對(duì)象,并使用onloadstart事件監(jiān)聽(tīng)器來(lái)跟蹤圖像的加載進(jìn)度。當(dāng)圖像開(kāi)始加載時(shí),這個(gè)事件會(huì)被觸發(fā),并打印一個(gè)消息到控制臺(tái)。
一旦圖像加載完成,另一個(gè)onload事件監(jiān)聽(tīng)器將被觸發(fā)。此監(jiān)聽(tīng)器遞增一個(gè)計(jì)數(shù)器以跟蹤已加載的圖像數(shù)量,并打印出另一個(gè)消息。
最后,當(dāng)所有圖像都加載完成時(shí),我們會(huì)打印出一個(gè)消息。