位置: 编程技术 - 正文

javascript图片延迟加载实现方法及思路(js设置图片大小)

编辑:rootadmin

推荐整理分享javascript图片延迟加载实现方法及思路(js设置图片大小),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js做图片滚动效果,js图片展示,js设置图片宽度,js设置图片宽度,2021金牛女每个月运势,2021金牛女每个月运势,2021金牛女每个月运势,js怎么实现图片滚动,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例为大家介绍了如何通过javascript来延迟加载图片,分享给大家供大家参考,具体内容如下

当一个网页中含有大量图片时,如果一开始就将图片全部加载完毕,势必会引起性能和效率上的问题,用户可能会由于等待时间过久而离开。

这个时候,我们需要利用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力。

一、延迟加载图片

基本思路如下: 给需要延迟加载的图片设置自定义属性比如lazy-src,存在图片源所在路径。然后将所有需要懒加载的图片放入一个数组,在window.onscroll的时候判断该数组内容是否出现在了用户视线中,如果出现了,就将自定义属性内容赋予图片的src属性。

下面我们来具体谈谈实现步骤。 首先,我们需要定义函数返回浏览器的可视区域位置:

javascript图片延迟加载实现方法及思路(js设置图片大小)

然后定义函数返回待加载资源的位置:

接下来定义函数,判断两个矩形区域是否相交:

最后对图片资源进行监视,如果进入用户视野则加载资源:

当然,这里只是讲思路,如果用到工程上,还是有很多缺陷,比如性能和兼容性等。所以推荐一款jquery插件:lazyload

1、判断css加载完成

这里顺便说一下如何判断一个web页面的css文件加载完成。我们知道css通过外部文件引入,其实是一个link节点。所以我们只需要通过轮询来判断该link节点的sheet属性或者sheet.cssRules属性,就可以判断该css文件是否完全加载成功。

2、判断图片加载完成

同样的,img标签有一个complete属性,我们只需要通过轮询来查看该属性即可。

3、判断javascript加载完成

那么如何判断javascript加载完成呢?script节点的onload方法就是加载完成后执行的。ie6和ie7则可通过readyState来判断:

标签: js设置图片大小

本文链接地址:https://www.jiuchutong.com/biancheng/385515.html 转载请保留说明!

上一篇:详解javascript高级定时器(javascriptjs)

下一篇:javascript数据类型验证方法(javascript数据类型有哪些)

  • 个人出租住房需要缴纳哪些税
  • 高铁票丢失了可以二次打印吗
  • 非营利组织注销流程
  • 税务异常有哪些类型
  • 办理契税需要的户口本复印件可以吗
  • 法人其他应付款在借方表示
  • 委托开发费用免所得税和增值税
  • 养老基金利率多少
  • 抵债资产计提折旧怎么算
  • 营改增后常用发票报销的种类有哪些呢?
  • 境外企业分红怎么交税
  • 应收账款现金收回金额有限制嘛
  • 增值税专用发票有效期是多长时间
  • 进货会计凭证
  • 生产成本和主营业务成本哪个大
  • 替票是什么和发票的区别
  • 实收资本减少会不会变相影响注册资本金
  • 产品售后产生材料费会计核算
  • 缴纳投标保证金
  • 非税收入的发票能抵扣吗
  • 金蝶怎样取消结账
  • 清算期间未申报债权
  • 企业所得税的工资薪金包括社保
  • mac怎么打印文件内容
  • iphone6splus 充电
  • php的数据类型主要有哪几种?
  • 企业年金基金收支情况
  • PHP:imagecolorat()的用法_GD库图像处理函数
  • 商业零售企业存货非正常损失
  • 工伤报销入账
  • 凭证怎么记账
  • 餐饮专用发票可抵扣吗
  • 学堂在线结课后还能看吗
  • 哈士奇新手礼包
  • 应收利息会计分局
  • 城市维护建设税是什么意思
  • java线程的执行体
  • 商标注册费用可以退吗
  • mysql 中文排序是什么规则
  • 房地产企业成本核算方法
  • 银行存款日记账填写样本图
  • 增值税普通发票税率
  • 开具发票后什么情况下可以零申报?
  • 公交公司如何做好精细化管理
  • 溢价交易和折价交易
  • 房屋租赁协议印花税怎么计算
  • 公司的长期股权投资该如何做账
  • 资本溢价产生的主要原因
  • 库存商品用于研发分录
  • 如何从财务报表中分析企业偿债能力
  • mysql 5.7.11 winx64安装配置方法图文教程
  • sqlserver附加数据库时出错,请单击消息中的超链接
  • Linux下Mysql5.7.19卸载方法
  • mysqlbinlog -vvv
  • vmware虚拟机怎么卸载不了
  • linuxmail命令
  • svchosl.exe - svchosl是什么进程 有什么作用
  • 原版windowsxp安装
  • Win10预览版镜像
  • linux从一个命令获取数据到另一个命令
  • js闭包的应用
  • js中的ajax
  • node.js的流的作用
  • dos删除文件夹下所有文件 不删除父目录
  • unity 数学
  • linux中的shell命令
  • windows2008 iis
  • nodejs全局异常监听
  • IEnumerator/ IEnumerable/ yield return/ StartCoroutine 详解
  • js设计模式有什么用
  • shell正则表达式匹配文件名
  • 基于python的
  • 利用python中的运算符可以编程解决你身边的哪些问题
  • js过滤特殊字符
  • python twinter
  • 船舶吨税的税率怎么算
  • 缴纳个人所得税怎么计算
  • 法治建设的基本原则是什么
  • 财产租赁包括哪些财产
  • 土地出让金契税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设