最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)判斷圖片是否加載完成的方法分析

 更新時(shí)間:2018年07月31日 10:34:26   作者:筱葭  
這篇文章主要介紹了JS實(shí)現(xiàn)判斷圖片是否加載完成的方法,結(jié)合實(shí)例形式分析了javascript常見(jiàn)的圖片加載完成判斷方法與相關(guān)操作技巧,需要的朋友可以參考下

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

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事件

網(wǎng)絡(luò)狀況不好或圖片不存在都可能觸發(fā)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>

觸發(fā)onerror事件后,會(huì)為img指定一個(gè)新的圖片。

問(wèn)題:

新圖片存在則顯示新圖片,但若新圖片也不存在,則將繼續(xù)觸發(fā)onerror,導(dǎo)致頁(yè)面循環(huán)跳動(dòng)。

解決:

通過(guò)將onerror置為null,來(lái)防止頁(yè)面循環(huán)跳動(dòng)。

<!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>

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript圖片操作技巧大全》、《JavaScript運(yùn)動(dòng)效果與技巧匯總》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 用JavaScript做簡(jiǎn)易的購(gòu)物車(chē)的代碼示例

    用JavaScript做簡(jiǎn)易的購(gòu)物車(chē)的代碼示例

    這篇文章主要介紹了用JavaScript做簡(jiǎn)易的購(gòu)物車(chē)的代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • JS實(shí)現(xiàn)“隱藏與顯示”功能(多種方法)

    JS實(shí)現(xiàn)“隱藏與顯示”功能(多種方法)

    這篇文章主要介紹了JS實(shí)現(xiàn)“隱藏與顯示”功能的多種方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • 最新評(píng)論

    乳源| 乌海市| 洪洞县| 连城县| 天台县| 隆化县| 寿阳县| 二手房| 民勤县| 岳普湖县| 新沂市| 出国| 贡嘎县| 澄江县| 乐至县| 海盐县| 融水| 阳山县| 衡山县| 大兴区| 三台县| 凌源市| 湄潭县| 资溪县| 海城市| 衡山县| 同德县| 咸丰县| 武功县| 巨野县| 合阳县| 东丰县| 南召县| 陇南市| 古田县| 喜德县| 邯郸市| 兰溪市| 东乡县| 东安县| 奉节县|