图片的懒加载

来源:互联网 发布:淘宝中奖名单 编辑:程序博客网 时间:2024/04/25 04:24

原理

当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。
这就是图片懒加载。

难点

知道什么时候img在可视区域内

先了解下基本的概念
这里写图片描述

获取屏幕可视窗口大小

对应于图中1、2位置处

window.innerHeight 标准浏览器及IE9+ document.documentElement.clientHeight 标准浏览器及低版本IE标准模式document.body.clientHeight 低版本混杂模式
jQuery方法: $(window).height() 

浏览器窗口顶部与文档顶部之间的距离

也就是滚动条滚动的距离:也就是图中3、4处对应的位置

window.pageYOffset——IE9+及标准浏览器 || document.documentElement.scrollTop 兼容ie低版本的标准模式 ||document.body.scrollTop 兼容混杂模式;
 jQuery方法:$(document).scrollTop(); 

获取元素尺寸

对应于图中5、6位置处
左边jquery方法,右边原生方法

注意:要使用原生的style.xxx方法获取属性,这个元素必须已经有内嵌的样式,如


如果原先是通过外部或内部样式表定义css样式,必须使用o.currentStyle[xxx] || document.defaultView.getComputedStyle(0)[xxx]来获取样式值

$(o).width() = o.style.width; $(o).innerWidth() = o.style.width+o.style.padding;$(o).outerWidth() = o.offsetWidth = o.style.width+o.style.padding+o.style.border;$(o).outerWidth(true) = o.style.width+o.style.padding+o.style.border+o.style.margin;
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 二年级上数学应用题 二年级乘除法应用题 2年级下册数学应用题 七年级上数学应用题 三年级上册数学应用题 二年级下册数学应用题 四年级上册数学应用题 四年级上册数学应用题100道 五年级上册数学应用题 小学二年级数学应用题 二年级数学下册应用题大全 三年级下册数学应用题 小学六年级数学应用题 六年级下册数学应用题 七年级上册数学应用题 四年级鸡兔同笼应用题 五年级小数除法应用题 五年级下册数学应用题 三年级上期数学应用题 小学三年级时间应用题 小学二年级数学应用题大全 小学三年级数学应用题上册 六年级工程问题应用题 六年级数学比例应用题 六年级数学工程应用题 五年级鸡兔同笼应用题 10以内的加减法应用题 五年级上册小数除法应用题 小学二年级数学应用题上册 小学三年级上册数学应用题 二年级数学除法应用题 小学二年级除法应用题 二年级下册奥数应用题 七年级数学方程应用题 五年级数学方程应用题 小学数学四年级应用题 小学四年级上册数学应用题 六年级数学方程应用题 二年级上学期数学应用题 小学五年级上册应用题 五年级列方程解应用题