麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js中Image對象以及對其預加載處理示例

2019-11-20 21:38:34
字體:
來源:轉載
供稿:網友
不顯示在文檔中的 Image 對象

對于不顯示在文檔中的 Image 對象時用 var 語句定義的:
復制代碼 代碼如下:

var myImage = new Image();或
var myImage = new Image(<圖片地址字符串>);

然后就可以像一般 Image 對象一樣對待 myImage 變量了。不過既然它不顯示在文檔中,以下屬性:lowsrc, width, height, vspace, hspace, border 就沒有什么用途了。一般這種對象只有一個用:預讀圖片(preload)。因為當對對象的 src 屬性賦值的時候,整個文檔的讀取、JavaScript 的運行都暫停,讓瀏覽器專心的讀取圖片。預讀圖片以后,瀏覽器的緩存里就有了圖片的 Copy,到真正要把圖片放到文檔中的時候,圖片就可以立刻顯示了。現在的網頁中經常會有一些圖像連接,當鼠標指向它的時候,圖像換成另外一幅圖像,它們都是先預讀圖像的。

預讀圖像的 JavaScript 例子
復制代碼 代碼如下:

var imagePreload = new Image();

imagePreload.src = '001.gif';
imagePreload.src = '002.gif';
imagePreload.src = '003.gif';

以上例子適合預讀少量圖片。
復制代碼 代碼如下:

function imagePreload() {
var imgPreload = new Image();
for (i = 0; i < arguments.length; i++) {
imgPreload.src = arguments[i];
}
}

imagePreload('001.gif', '002.gif', '003.gif', '004.gif', '005.gif');

以上例子適合預讀大量圖片。

因為許多瀏覽器存在的緩存問題。當圖片加載過一次之后,如果再有對該圖片的請求時,由于瀏覽器已經緩存住這張圖片了,不會再發(fā)起一次新的請求,而是直接請緩存中加載過來,經過分析,可以使用各個瀏覽器所兼容的Image的屬性--complete。所以在圖片onload事件之前先對這個值做下判斷即可,如下例子:
復制代碼 代碼如下:

function loadImage(url, callback) {
var img = new Image(); //創(chuàng)建一個Image對象,實現圖片的預下載
img.src = url;

if (img.complete) { // 如果圖片已經存在于瀏覽器緩存,直接調用回調函數
callback.call(img);
return; // 直接返回,不用再處理onload事件
}

img.onload = function () { //圖片下載完畢時異步調用callback函數。
callback.call(img);//將回調函數的this替換為Image對象
};
};
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 免费放黄网站在线播放 | 成人免费入口 | www.国产一区.com| h色视频在线观看 | 欧美精品日日鲁夜夜添 | 男人的天堂毛片 | 成人福利网 | 国产欧美精品一区二区三区四区 | jizzzzxxxxx| 成人18免费观看 | 国产男女 爽爽爽爽视频 | 欧美日韩成人一区二区 | 精品二区在线观看 | 草操视频| 国产成人综合在线观看 | 福利免费在线观看 | 国产精品成人一区 | 黄色大片网站在线观看 | 国产小视频一区 | 欧美aⅴ视频 | 久久久久久久久久亚洲精品 | 精品一区二区三区日本 | 少妇色诱麻豆色哟哟 | 污黄视频在线观看 | 欧产日产国产精品99 | 中文字幕一二三区芒果 | 在线观看国产网站 | 久久出精品 | 老女人碰碰在线碰碰视频 | 久久伊人国产精品 | 一级黄色大片在线观看 | 久久久久久久久久久久久久av | 久草在线网址 | 亚洲人成网站免费播放 | 日韩精品久久久久久久九岛 | 国产亚洲精品美女久久久 | 1314成人网 | 毛片毛片| 成人性视频欧美一区二区三区 | 欧美一级在线看 | 免费观看国产精品视频 |