欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • js的正則test,match,exec詳細(xì)解析

    js的正則test,match,exec詳細(xì)解析

    本篇文章主要是對(duì)js的正則test,match,exec進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01
  • 淺談下拉菜單中的Option對(duì)象

    淺談下拉菜單中的Option對(duì)象

    Option 對(duì)象代表 HTML 表單中下拉列表中的一個(gè)選項(xiàng)。在 HTML 表單中 <option> 標(biāo)簽每出現(xiàn)一次,一個(gè) Option 對(duì)象就會(huì)被創(chuàng)建。您可通過(guò)表單的 elements[] 數(shù)組訪問(wèn)一個(gè) Option 對(duì)象,或者通過(guò)使用 document.getElementById()。
    2015-05-05
  • 手機(jī)端實(shí)現(xiàn)Bootstrap簡(jiǎn)單圖片輪播效果

    手機(jī)端實(shí)現(xiàn)Bootstrap簡(jiǎn)單圖片輪播效果

    這篇文章主要為大家詳細(xì)介紹了基于Bootstrap的簡(jiǎn)單輪播圖的手機(jī)實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • JS打印方法的幾種方法

    JS打印方法的幾種方法

    本文主要介紹了JS打印方法的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 使用rollup打包JS的方法步驟

    使用rollup打包JS的方法步驟

    這篇文章主要介紹了使用rollup打包JS的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • JavaScript實(shí)現(xiàn)兼容IE6的收起折疊與展開(kāi)效果實(shí)例

    JavaScript實(shí)現(xiàn)兼容IE6的收起折疊與展開(kāi)效果實(shí)例

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)兼容IE6的收起折疊與展開(kāi)效果,結(jié)合具體實(shí)例形式分析了javascript事件響應(yīng)及針對(duì)頁(yè)面元素屬性的動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • JS去除字符串兩端空格的簡(jiǎn)單實(shí)例

    JS去除字符串兩端空格的簡(jiǎn)單實(shí)例

    本篇文章主要是對(duì)JS去除字符串兩端空格的簡(jiǎn)單實(shí)例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-12-12
  • 使用JQuery進(jìn)行跨域請(qǐng)求

    使用JQuery進(jìn)行跨域請(qǐng)求

    JQuery 進(jìn)行跨域請(qǐng)求實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2010-01-01
  • 微信小程序?qū)崿F(xiàn)簡(jiǎn)單的購(gòu)物車功能

    微信小程序?qū)崿F(xiàn)簡(jiǎn)單的購(gòu)物車功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)單的購(gòu)物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 深入理解JavaScript系列(11) 執(zhí)行上下文(Execution Contexts)

    深入理解JavaScript系列(11) 執(zhí)行上下文(Execution Contexts)

    本章我們要講解的是ECMAScript標(biāo)準(zhǔn)里的執(zhí)行上下文和相關(guān)可執(zhí)行代碼的各種類型
    2012-01-01

最新評(píng)論