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

首頁 > 開發 > JS > 正文

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

2024-05-06 16:45:28
字體:
來源:轉載
供稿:網友

本文實例講述了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/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴隆县| 河西区| 隆子县| 张家界市| 白朗县| 新宁县| 保康县| 商丘市| 庄河市| 柏乡县| 阜新市| 额尔古纳市| 开江县| 楚雄市| 清新县| 随州市| 逊克县| 枣庄市| 土默特右旗| 浦北县| 柳林县| 南澳县| 克拉玛依市| 盘锦市| 淮南市| 桂平市| 东阿县| 新宁县| 嘉善县| 休宁县| 江华| 天津市| 石屏县| 石门县| 沂水县| 湾仔区| 依安县| 阆中市| 弥勒县| 万盛区| 道孚县|