国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現判斷圖片是否加載完成的方法分析

2019-11-19 13:22:34
字體:
來源:轉載
供稿:網友

本文實例講述了JS實現判斷圖片是否加載完成的方法。分享給大家供大家參考,具體如下:

1、onload事件

<!DOCTYPE HTML><html>  <head>    <title></title>  </head>  <body>    <img src="images/background.png">    <p>loading...</p>    <script type="text/javascript">      document.getElementsByTagName("img")[0].onload =function() {        document.getElementsByTagName("p")[0].innerHTML ='加載完成!';      }    </script>  </body></html>

2、complete屬性

<!DOCTYPE HTML><html>  <head>    <title></title>  </head>  <body>    <img src="images/background.png">    <p>loading...</p>    <script type="text/javascript">      function imgLoad(img, callback) {        var timer = setInterval(function() {          if (img.complete) {            callback(img);            clearInterval(timer);          }        }, 50);      }      imgLoad(document.getElementsByTagName("img")[0], function() {        document.getElementsByTagName("p")[0].innerHTML = '加載完成!';      })    </script>  </body></html>

3、onreadystatechange事件

<!DOCTYPE HTML><html>  <head>    <title></title>  </head>  <body>    <img src="images/background.png">    <p>loading...</p>    <script type="text/javascript">      document.getElementsByTagName("img")[0].onreadystatechange = function() {        if (this.readyState=="complete" || this.readyState=="loaded")          document.getElementsByTagName("p")[0].innerHTML = '加載完成';      }    </script>  </body></html>

注意:只有IE6-IE10支持onreadystatechange事件,其它瀏覽器不支持。

4、onerror事件

網絡狀況不好或圖片不存在都可能觸發onerror事件。

<!DOCTYPE HTML><html>  <head>    <title></title>  </head>  <body>    <img src="images/notExistImg.png">    <p>loading...</p>    <script type="text/javascript">      document.getElementsByTagName("img")[0].onload =function() {        document.getElementsByTagName("p")[0].innerHTML ='加載完成!';      }      document.getElementsByTagName("img")[0].onerror =function() {        document.getElementsByTagName("img")[0].src = "images/background.png";      }    </script>  </body></html>

觸發onerror事件后,會為img指定一個新的圖片。

問題:

新圖片存在則顯示新圖片,但若新圖片也不存在,則將繼續觸發onerror,導致頁面循環跳動。

解決:

通過將onerror置為null,來防止頁面循環跳動。

<!DOCTYPE HTML><html>  <head>    <title></title>  </head>  <body>    <img src="images/notExistImg.png">    <p>loading...</p>    <script type="text/javascript">      document.getElementsByTagName("img")[0].onload =function() {        document.getElementsByTagName("p")[0].innerHTML ='加載完成!';      }      document.getElementsByTagName("img")[0].onerror =function() {        document.getElementsByTagName("img")[0].src = "images/backgeound.png";        document.getElementsByTagName("img")[0].onerror = null;        document.getElementsByTagName("p")[0].innerHTML ='加載失敗!';      }    </script>  </body></html>

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript圖片操作技巧大全》、《JavaScript運動效果與技巧匯總》、《JavaScript切換特效與技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新丰县| 吉木萨尔县| 台南市| 博客| 十堰市| 屏南县| 平安县| 关岭| 卓尼县| 舞钢市| 安图县| 蚌埠市| 永福县| 温州市| 玉环县| 漳平市| 芜湖市| 合作市| 界首市| 阿鲁科尔沁旗| 邳州市| 金平| 西和县| 汨罗市| 收藏| 波密县| 鹤峰县| 泰顺县| 贵溪市| 平邑县| 遵义市| 泸水县| 曲水县| 巴林左旗| 汝城县| 奉节县| 泽州县| 佛山市| 南江县| 石首市| 徐闻县|