js图片实时加载提供网页打开速度

浏览大型网站,特别是图片比较多的图片,如大型的电商网站,你会发现处了第一屏外,往下滚动的时候图片才加载出来,没必要一开始加载就要把全部图片加载出来,这样子打开网面的速度得到了很好提高。以下是笔者目前所想到的思路,如果有更好的思路,望不吝赐教。

其实实时加载图片思路很简单,页面一开始加载的时候把不需要一开始就加载的图片(如第二屏以下的图片,反正是要往下滚动才能看到的,不如把它们设置成往下滚动的时候再实时加载)路径保持到一个自定义属性里,如:

19岁女孩直面癌症 7年前曾截肢

,src="http://ctc.qzonestyle.gtimg.cn/ac/b.gif"是一个1px*1px的透明gif图片,自定义属性data-src里的"http://y3.ifengimg.com/a/2014_37/03c4830691a6d8b.jpg"才是图片的路径,往下滚动到它的时候把data-src里的值替换掉src的值,然后把data-src属性移除掉……

如下是demo

rush:js;"> js<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>实时加载
cont2
  • 19岁女孩直面癌症 7年前曾截肢

  • 19岁女孩直面癌症 7年前曾截肢

  • 19岁女孩直面癌症 7年前曾截肢

  • 19岁女孩直面癌症 7年前曾截肢

  • 19岁女孩直面癌症 7年前曾截肢

cont3

如上demo里的cont1里的图片是一加载页面显示的,对于首页布局是固定的,可以确认那些图片是第二屏以下的,但是对于内容页,主体内容容器里的图片出现的位置是不可控制的,这就需要加载完毕真个页面的时候再判断是不是在在可视范围内,如果是在可视范围内就把它加载出来(当然,首页也可这么做,但是如果网速很慢,那么打开首页的时候要等到整个页面架构加载完毕之后才显示图片,而不是从上而下加载出来),图片要设置width与height属性,这让它在页面一个位置,不然为加载前它只占透明gif图片的大小位置。

如下demo针对内容页做了一点修改,window.onload、window.onscroll的时候都触发加载

rush:js;"> js<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>实时加载
7年前截肢的19岁癌症晚期女孩

http://www.cnblogs.com/xiaomou2014

http://www.cnblogs.com/xiaomou2014

http://www.cnblogs.com/xiaomou2014

7年前截肢的19岁癌症晚期女孩

19岁女孩直面癌症 7年前曾截肢

7年前截肢的19岁癌症晚期女孩

19岁女孩直面癌症 7年前曾截肢

7年前截肢的19岁癌症晚期女孩

19岁女孩直面癌症 7年前曾截肢

7年前截肢的19岁癌症晚期女孩

19岁女孩直面癌症 7年前曾截肢

7年前截肢的19岁癌症晚期女孩

19岁女孩直面癌症 7年前曾截肢

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...