判斷頁面所有圖片加載完成


stackoverflow上看到一個問題,大致是說在一個頁面有多張圖片,那么該怎么樣來判斷所有圖片都已加載完成呢?提問者使用的是jquery.

<img src='xxx.xxx' />
<img src='xxx.xxx' />
<script>
$('img').load(function(){
     alert('img loaded')
})
</script>

比如上面的代碼,每張圖片加載完后,都會彈出 img loaded,有幾張圖片加載完,就會彈出幾次,而提問者想要的結果是等所有的圖片加載完成后才彈出 img loaded,也就是說img loaded 只會彈出一次。看了下前面兩位跟帖者的回答,但提問者都說 it doesn’t work,並且他們的方法貌似還有點小復雜。
我的想法是這樣的,先得出圖片的數量,然后在每一張圖片加載完后的事件中把先前得出的圖片數量減1,再判斷最后的結果是不是0,如果是0則意味着所有圖片都加載完了
代碼如下:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<title>all images are loaded</title>
</head>
<body>
<img src="http://res.news.ifeng.com/ba823efb4496b7e7/2011/0707/rdn_4e1520b166d25.jpg" />
<br/>
<img src="http://res.news.ifeng.com/ba823efb4496b7e7/2011/0706/rdn_4e13a50de3d0e.jpg" />
<br/>
<img src="http://res.news.ifeng.com/ba823efb4496b7e7/2011/0706/rdn_4e13a51221e9a.jpg" />
<br/>
<img src="http://res.news.ifeng.com/ba823efb4496b7e7/2011/0706/rdn_4e13a7d6ee1a2.jpg" />
<br/>
<img src="http://res.news.ifeng.com/ba823efb4496b7e7/2011/0706/rdn_4e13a51151c7f.jpg" />
<br/>
<img src="http://res.news.ifeng.com/ba823efb4496b7e7/2011/0706/rdn_4e13a514a9de9.jpg" />
<br/>
<img src="http://res.news.ifeng.com/ba823efb4496b7e7/2011/0706/rdn_4e13a511aec95.jpg" />
<script>
var imgNum=$('img').length;
$('img').load(function(){
    if(!--imgNum){alert('All images loaded')}
})
</script>
</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM