JS图片延迟加载分析及简单的demo】的更多相关文章

JS图片延迟加载 图片延迟加载也称 "懒加载",通常应用于图片比较多的网页,比如 "美丽说首页","蘑菇街"等一些导购网站上用的比较多,或者淘宝,京东等电子商务网站上也用的比较多,因为页面加载时候 假如我们没有用延迟加载的话 那么页面上很多图片,首先要发n多个请求,性能肯定不怎么好,而我们用延迟加载技术,页面打开时候 只加载第一屏数据,第二屏以上都用延迟加载 滚动的时候进行加载,这样的话 假如页面不管他有n屏的话 那么我们只管加载第一屏的数据,后…
什么是图片延迟加载? 也叫懒加载. 当页面有多屏的时候,页面中的图片比较多. 那么,在页面载入完毕的时候,并不会把所有的图片都加载进来. 而是当用户拖动滚动条的时候,图片要进入用户的视野了,才开始加载对应位置的图片. 有什么用? 主要是为了提升网站的性能,节省流量(网站和用户). 如何实现 如果的开发的时候,实现的方式其实有很多相应的插件. 原生的js来实现. 我们就是站在学习的角度,使用原生的js来实现这个效果. 实现步骤: 搭建HTML结构 编写css样式 显示如下: 首先,就需要将src属…
当做网页的时候,特别是整个网页展示图片较多的时候,用到图片延迟效果是很好的 使用方法也非常简单. 1.在网页任何位置(一般是在</body>前面)加上如下代码(注意<script>引用的两个js文件,路径自行设定): <script src="js/jquery.min.js"></script> <script src="js/jquery.lazyload.min"></script> &l…
转:http://www.jb51.net/article/50273.htm 这篇文章主要介绍了Jquery图片延迟加载插件jquery.lazyload.js的使用方法,需要的朋友可以参考下   新版的jquery.lazyload.js已不再是伪的延迟加载了 一.请按照基本使用方法说明设置 //载入JavaScript 文件<script src="jquery.js" type="text/javascript"></script>&…
  前  言 Cherish 看多了炫酷的插件之后再来看这么一个小清新的东西,是不是突然感觉JQ插件感觉很友好了,简单强大最重要的是实用. 这篇文章将详细讲解一下lazyload.js的用法 lazyload看名字直译大概就知道意思了: 懒加载,就是懒得加载,你不看到那,它不会给你加载出来的.也就是延迟加载的功能.使用它你可以提高网页加载速度,进而来说一定情况下也能减轻服务器负载 下面就来说一下怎么去使用这个朴素而实在的插件 要想使用JQ插件,首先 要引用jquery.js和lazyload.j…
一.插件介绍 jquery.lazyload.js 是一个用 JavaScript 编写的jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置.这与图片预加载的处理方式正好是相反的.在包含很多大图片长页面中延迟加载图片可以加快页面加载速度.浏览器将会在 加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担. 二.插件作者下载地址 JS下载:http://www.ijquery.cn/js/lazyload…
  这里延迟加载的意思是,拖动滚动条时,在图片出现在浏览器显示区域后才加载显示. 大概的实现方式是: 在页面的load没有触发之前,把所有的指定id的元素内的img放入到imgs中,将所有的图片的src值放入到一个新建的_src属性中,把src设置为指定的显示图片. 然后,在document.body的scroll事件触发时,循环计算imgs中的img元素位置是否正好在浏览器显示框范围内,如果是,则将img元素的_src属性的值赋给src,这样图片就能显示出来. 这里比较麻烦地方是,如何计算im…
<html> <meta> <script src='jquery-1.8.3.min.js'></script> <script> /* e.clientX:相对于客户区域的X坐标位置数值,不包括滚动条,就是正文区域 e.pageX:事件执行时获取鼠标的坐标,就是事件触发源的坐标 scrollLeft:返回或设置匹配元素的滚动条的水平位置 dom.offsetLeft:以自身坐标为基本的到父窗口的左边距,返回数值, dom.top:以父对象为坐…
图片延迟加载常见的有,jquery.lazyload.js,原生JS实现的echo.js.但是都是必须给图片设置宽高. 因为项目是移动端,而且无法在加载前知道图片的宽高,所以,只好自己写了一个. 既然无法按照高度来计算是否在可视区内加载.那我就按照个数加载,每次加载X张图片,滚动到底部的时候再加载X张.如果图片高度比较小,X张加载后图片没有满屏,那么就再执行一次加载. Example:http://www.yc.cn/app/commonweal/ 使用方法 原生JS: var lazyPhot…
在开发H5项目中有时候会遇到要加载大量图片的情况,利用预加载技术可以提高用户浏览时的体验. 1)概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片.预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染. 2)区别:两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载.懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力. 服务器端区别:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数.预加载可以说是牺牲…
Echo.js 是一个独立的延迟加载图片的 JavaScript 插件.Echo.js 不依赖第三方库,压缩后不到1KB大小. 延迟加载是提高网页首屏显示速度的一种很有效的方法,当图片元素进入窗口可视区域的时候,它就会改变图像的 src 属性,从服务端加载所需的图片,这也是一个异步的过程. 您可能感兴趣的相关文章 那些让人惊叹的的国外创意404错误页面设计 让人爱不释手的精美 Web 应用程序图标素材 赞!10套精美的免费网站后台管理系统模板 期待已久的2012年度最佳 jQuery 插件揭晓…
简介: 和 Lazy Load 一样,Echo.js 也是一个用于图像延迟加载 JavaScript.不同的是 Lazy Load 是基于 jQuery 的插件,而 Echo.js 不依赖于 jQuery 或其他 JavaScript 库,可独立使用.并且 Echo.js 非常小巧,压缩后不足 1KB. 兼容性: Echo.js 使用了 HTML5 的 date 属性,并且需要获取该属性的值,所以它并不兼容 IE6.IE7.虽然 Lazy Load 也使用了 HTML5 的 date 属性,但它…
在实际的项目开发中,我们通常会遇见这样的场景:一个页面有很多图片,而首屏出现的图片大概就一两张,那么我们还要一次性把所有图片都加载出来吗?显然这是愚蠢的,不仅影响页面渲染速度,还浪费带宽.这也就是们通常所说的首屏加载,技术上现实其中要用的技术就是图片懒加载--到可视区域再加载. 一.使用方法说明 //载入JavaScript文件 <script src="./jquery-3.1.1.min.js"></script> <script src="…
LazyLoad大家再熟悉不过的一个jquery插件了,它可以延迟加载长页面中的图片. 也就是说在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置才会加载并显示出来,这和图片预加载的处理方式正好刚好相反.图片不多的页面时,效果并不太明显,但是当页面大图片比较多的时候,这种效果就比较显著了,明显加快了页面的加载速度.浏览器将会在加载可见图片之后即进入就绪状态,在某些情况下还可以帮助降低服务器负担.因此,比较流行的wordpress主题,typecho主题,emlog主题等都使用…
要想缩短首屏加载时间,思路一般是减少http请求次数和降低每次的请求量.本文中使用现成的lazyload.js插件,文末会放出下载地址. lazyload.js可以实现图片分批次加载,不是一次性加载完毕再分批次展现.使用该插件有个注意的地方,图片要加上宽高.因为默认图是1像素的,所以如果没有给图片限制宽高,当滚动条滚动时会全部加载出来. 比如下面这段代码,其中的图片会一次性加载完成. <img data-original="images/bg00001.jpg" src=&quo…
当页面图片比较多的时候,我们通常会做一个延迟加载,避免页面打开时一下子的请求数太多,加载过慢影响用户体验. 如果项目用了jquery框架,则可以直接用 jquery.lazyload.可在jquery官网下载到. 如果项目是基于原生js的,可以参考以下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>lazyloa…
图片预加载的机制原理:就是提前加载出图片来,给前端的服务器有一定的压力. 图片延迟加载的原理:为了缓解前端服务器的压力,延缓加载图片,符合条件的时候再加载图片,当然不符合的条件就不加载图片.​ 预加载的实现目的:为了实现更好的用户体验.劣势:会消耗前端服务器的性能. 延迟加载的实现目的:为了优化服务器前端的性能,减少请求次数. 实现方式:         1.第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟.       2.第二种是条件加载,符合某些条件,或…
估计网上能查到的最多的两种图片延迟加载方法就是jquery.scrollLoading.js与jquery.lazyload.js了,其中jquery.lazyload.js的调用方法因为有网友爆出的bug,改进了调用方法,另外修改了关于浏览器IE版本的判断.以下直接为代码,并没有什么修改.做个记号. 两种方法都采用jquery-1.8.3.min.js版本. jquery.scrollLoading方法 html <!DOCTYPE html> <html xmlns="ht…
<html> <head> <meta charset="utf-8" /> <title></title> <script> window.onload=function(){ setInterval("rollImg()",2000); } var imgarr=["https://www.w3school.com.cn/i/eg_tulip.jpg", "ht…
对于大量图片的网站,图片延迟加载是提高速度和性能的好方法. 目前图片延迟加载主要分两大块,一是触发加载(根据滚动条位置加载图片):二是自动预加载(加载完首屏后n秒后自动加载其他位置的图片).大体常用的就这两种. 这里介绍第一种方法,根据滚动条手动加载图片,最初采用的是LazyLoad.js这个现成的小插件,当然自己用jquery自己写也是很简单的. 我们到LazyLoad网站看看他的工作原理,使用方法:点这里http://www.neoease.com/lazy-load-jquery-plug…
图片延迟加载也称懒加载,常用于页面很长,图片很多的页面,以电子商务网站居多,比如大家常上的京东,淘宝,页面以图居多,整个页面少说几百K,多则上兆,如果想一次性加载完成,不仅用户要哭了,服务器也得哭了. 为了避免这种请况发生,目前主流的做法是页面初次加载时,只显示当前可视区域的图片,当用户滚动页面的时候,当图片进入可视区域时再加载,这样可以明显的提高页面加载速度,而更少的图片并发请求数,也可以大大的减轻服务器的压力,可谓一举多得. 图片延迟加载的原理比较简单,先把图片的真实地址写在自定义的一个属性…
看到了淘宝产品介绍中,图片是在下拉滚动条时加载,这是一个很不错的用户体验.减少了页面加载的时间了,也减轻了服务器的压力,就查了下用JQuery..   什么是ImageLazyLoad技术 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数 据量的交互.尤其是对于高清晰的图片,占的几M的空间.ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面(通过滚动条 下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升. 怎么实现ImageLazyLoad 一.使…
不断修改完善中…… /*! * jquery.lazyoading.js *自定义的页面图片延迟加载插件,比网上的jquery.lazyload简单,也更适合自己的网站 *使用方法: 把img 的class加上 lazyloading 然后先引用jquery,再引用jquery.lazyoading.js,再调用:$("img.lazyloading").lazyloading({loadfirst:true}); * by pukuimin * 2013-11-01 *2013-11…
简介 当页面图片太多时,加载速度就会很慢.尤其是用2G/3G/4G访问页面,不仅页面慢,而且还会用掉很多流量.图片懒加载的原理就是将页面内所有需要加载的图片全部换成一张默认的图片(一般尺寸很小),只有图片在可视区域才去请求加载. 实现原理 <img class="lazy" src="loading.png" data-src="img/example.jpg"> 页面打开时首先会加载src里的图片,即很小的加载图:通过监听scrol…
实现了图片延迟加载功能,插件代码非常简洁,且每个功能都把注释写得非常详细,适合网友们学习,好好利用哦 引入图片延迟加载Jquery插件文件后,页面使用代码如下: <script type="text/javascript" charset="utf-8"> $(".lazyLoading").imgLazyLoading({ // 记录图片真实地址的属性名 url : "data-url", // 图片渐出效果以及…
basket.js 源码分析 一.前言 basket.js 可以用来加载js脚本并且保存到 LocalStorage 上,使我们可以更加精准地控制缓存,即使是在 http 缓存过期之后也可以使用.因此可以使我们防止不必要的重新请求 js 脚本,提升网站加载速度. 可以到 basket.js 的 Github 上查看更多的相关信息. 由于之前在工作中使用过 basket.js ,好奇它的实现原理,因此就有了这篇分析 basket.js 源码的文章. 二.简单的使用说明 basket.js 的使用非…
jQuery Lazy Load 图片延迟加载来源 基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载. 对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度. 版本: jQuery v1.4.4+ jQuery Lazy Load v1.7.2 注意事项: 1.需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中.若 src 与 data-original 相同,则只是一个特效而已,并不达到延迟加载的功能. 查看 Demo…
浏览大型网站,特别是图片比较多的图片,如大型的电商网站,你会发现处了第一屏外,往下滚动的时候图片才加载出来,没必要一开始加载就要把全部图片加载出来,这样子打开网面的速度得到了很好提高.以下是笔者目前所想到的思路,如果有更好的思路,望不吝赐教. 其实实时加载图片思路很简单,页面一开始加载的时候把不需要一开始就加载的图片(如第二屏以下的图片,反正是要往下滚动才能看到的,不如把它们设置成往下滚动的时候再实时加载)路径保持到一个自定义的属性里,如:<img class="aimg" sr…
原文地址:http://www.shangxueba.com/jingyan/1909987.html DEMO地址:http://demo.jb51.net/html/jquery_img/jquery_img.htm 最近在学习JS的OOP所以写了这么个东西 使用方法: $(".viewArea img").zoom({height:74,width:103}); 效果演示: http://demo.jb51.net/html/jquery_img/jquery_img.htm 代…
自己写了个简单的图片延迟加载小插件. 功能如下: 页面刷新,当前屏幕图片直接加载真实地址,body被卷去的部分和下方未显示的部分的img均加载通用图片如:loding.gif 随着屏幕上下滚动加载相应在窗口显示的img真实地址. 此处做了一个简单优化,因为延迟加载是计算每个图片距离顶部的距离然后循环赋值的,我在这里给每个图片定义一个flag标记,如果为false,循环时直接continue.这里还可以直接将图片真实地址赋值的img直接从数组中删除,两种写法从代码的臃肿性和执行的流畅性上尚未做对比…