• 判断页面所有图片加载完成


    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>
  • 相关阅读:
    vue项目webpack配置terser-webpack-plugin 去掉项目中多余的debugger
    difference between count(1) and count(*)
    为什么PostgreSQL WAL归档很慢
    mysql_reset_connection()
    Oracle使用audit跟踪登录失败的连接信息
    .NET Standard 版本
    ASP.NET Web API版本
    我是如何用go-zero 实现一个中台系统的
    JAVA中文件写入的6种方法
    MySql 常用语句
  • 原文地址:https://www.cnblogs.com/2050/p/2546278.html
Copyright © 2020-2023  润新知