QQ空间的邱跃鹏在其PPT里提到"按需加载"优化WEB性能的方式, 淘宝也使用了一边下拉滚动条,一边加载内容的方式; 出于好奇,google了一下, 整理如下:
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的.
在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担.
官方演示地址
(一)如何使用Lazy Load?
Lazy Load 依赖于 jQuery. 请将下列代码加入页面 head
区域:
Html代码
-
<script src="jquery.js" type="text/javascript"></script>
-
<script src="jquery.lazyload.js" type="text/javascript"></script>
在你的执行代码中加入下面语句:
Js代码
-
$("http://www.appelsiini.net/projects/lazyload/img").lazyload();
这将使 id="http://www.appelsiini.net/projects/lazyload/img" 区域下的图片将被延迟加载.
(二) 占位图片
还可以设定一个占位图片并定义事件来触发加载动作. 这时需要为占位图片设定一个 URL 地址. 透明, 灰色和白色的 1x1 象素的图片已经包含在插件里面.
Js代码
-
$("img").lazyload({ placeholder : "img/grey.gif" });
(三) 事件触发加载
事件可以是任何 jQuery 时间, 如: click 和 mouseover. 你还可以使用自定义的事件, 如: sporty 和 foobar. 默认情况下处于等待状态, 直到用户滚动到窗口上图片所在位置. 在灰色占位图片被点击之前阻止加载图片, 可以这样做:
Js代码
-
$("img").lazyload({
-
placeholder : "img/grey.gif",
-
event : "click"
-
});
(四) 使用特效
当图片完全加载的时候, 插件默认地使用 >show() 方法来将图显示出来. 其实你可以使用任何你想用的特效来处理. 下面的代码使用 FadeIn 效果. 这是演示页面.
Js代码
-
$("img").lazyload({
-
placeholder : "img/grey.gif",
-
effect : "fadeIn"
-
});
(五)图片在容器里面
可以将插件用在可滚动容器的图片上, 例如带滚动条的 DIV 元素. 你要做的只是将容器定义为 jQuery 对象并作为参数传到初始化方法里面. 这是水平滚动演示页面和垂直滚动的演示页面.
CSS 代码:
Html代码
-
#container {
-
height: 600px;
-
overflow: scroll;
-
}
JavaScript 代码:
Js代码
-
$("img").lazyload({
-
placeholder : "img/grey.gif",
-
container: $("#container")
-
});
(六) 当图片不顺序排列
滚动页面的时候, Lazy Load 会循环为加载的图片. 在循环中检测图片是否在可视区域内. 默认情况下在找到第一张不在可见区域的图片时停止循环. 图片被认为是流式分布的, 图片在页面中的次序和 HTML 代码中次序相同. 但是在一些布局中, 这样的假设是不成立的. 不过你可以通过 failurelimit 选项来控制加载行为.
Js代码
-
$("img").lazyload({
-
failurelimit : 10
-
});
将 failurelimit 设为 10 令插件找到 10 个不在可见区域的图片是才停止搜索. 如果有一个猥琐的布局, 请把这个参数设高一点.
(七)延迟加载图片
Lazy Load 插件的一个不完整的功能, 但是这也能用来实现图片的延迟加载. 下面的代码实现了页面加载完成后再加载. 页面加载完成 5 秒后, 指定区域内的图片会自动进行加载. 这是延迟加载演示页面.
Js代码
-
$(function() {
-
$("img:below-the-fold").lazyload({
-
placeholder : "img/grey.gif",
-
event : "sporty"
-
});
-
});
-
$(window).bind("load", function() {
-
var timeout = setTimeout(function() {$("img").trigger("sporty")}, 5000);
-
});
(八) 最后
最新版本: 源代码, 压缩的代码, 打包的代码
已知问题
由于 webkit 的 bug #6656, Lazy Load 在 Safari 和 Chrome 中无法使用. 它会立即为你加载所有你愿意和不愿意被载入的图片.
貌似 jQuery 1.3.x 令插件在 IE 中失效了. 所有图片将在后台被加载即使它们不应该被加载. 作者正在为解决这个问题而努力, 在此期间只能停留在 jQuery 1.2.6 中使用该插件.
上面是引用csdn上的博文,但是他忽略了一个重要的地方:到底怎么写<img..................>.
JS:
$(function() {
$("img").lazyload({
placeholder: "style/grey.gif",
effect: "fadeIn"
});
});
记得先引用JQuery
HTML:
在页面插入图片的代码如:
<img src="http://hiphotos.baidu.com/382262106/pic/item/766f17a1e8bf24da4610640b.jpg" alt=""/>
修改成:
<img original="http://hiphotos.baidu.com/382262106/pic/item/766f17a1e8bf24da4610640b.jpg" src="http://img.baidu.com/hi/img/ihome/logo.gif" alt=""/>
分享到:
相关推荐
给需要滚动加载的图片添加上data-url属性,值为图片的真实地址,src属性填写一张默认图片的地址。 方法引用 确定好一个有固定高度,且有滚动条的块级元素后,调用方法imgRunLoading(string id,boolean isConstant)...
JavaScript滚动延时加载,也称为懒加载(Lazy Loading),是一种优化网页性能的技术。它主要应用于大量数据或图像的页面,通过只在用户滚动到可视区域时才加载相关内容,从而减少初次加载页面时的数据量,提高页面...
在本文中,我们将深入探讨iscroll.js,一个用于实现高性能滚动效果的JavaScript库,特别是针对滚动加载(infinite scroll)的实例。iscroll.js通过优化滚动性能,使得在移动设备和桌面浏览器上都能流畅地处理大量的...
页面内容滚动加载是一种常见的网页优化技术,也被称为“无限...以上就是关于"js滚动加载"的技术要点,它涉及到前端开发中的JavaScript编程、性能优化、用户体验设计等多个方面,是构建现代网页时不可或缺的一种技术。
今天我们就来看看他们的实现思路和js控制动态加载的代码 下面的代码主要是控制滚动条下拉时的加载事件的 在下面代码说明出,写上你的操作即可,无论是加载图片还是加载记录数据 都可以 别忘了引用jquery类库 $...
jQuery滚动加载,也被称为无限滚动或懒加载,是网页设计中一种常见的优化技术。它允许网页在用户滚动页面到底部时动态加载更多内容,而无需手动点击“加载更多”按钮或者刷新整个页面。这种技术在新闻网站、社交媒体...
**jQuery无限滚动加载图片瀑布流代码详解** 在网页设计中,瀑布流布局(Masonry Layout)因其独特的展示方式,能够使页面元素排列得既美观又节省空间,特别适合用于图片展示类网站。jQuery无限滚动加载图片瀑布流...
在JavaScript和DOM编程中,高性能滚动加载是一种常见的优化技术,主要应用于大数据量、长列表的网页,如社交媒体新闻 feed 或者电商商品列表。这种技术旨在提高用户体验,避免因频繁的DOM操作导致页面卡顿,尤其是在...
Ajax(Asynchronous JavaScript and XML)和jQuery(JQ)结合的滚动加载页面技术,是现代网页开发中的一个重要实践,尤其在大数据量、高交互性的网站中广泛应用。这种技术通过监听用户的滚动行为,当页面接近底部时...
无限滚动加载,也被称为“滚动触发加载”或“懒加载”,是现代网页和移动应用设计中常见的一种技术。它的核心思想是在用户滚动页面到底部时,动态地加载更多内容,而不是一次性显示所有信息,从而提高了页面加载速度...
`js` 文件夹可能包含了实现滚动加载功能的 JavaScript 代码,而 `img` 文件夹则存储了相关的图像资源。 滚动加载的核心在于监听滚动事件,当用户滚动到页面的某个位置时触发。在 jQuery Mobile 中,我们可以使用 `$...
360网站全屏滚动加载的实现涉及到多个技术领域,包括HTML、CSS3和JavaScript。下面将详细介绍这些知识点。 首先,**全屏滚动**(Full Page Scrolling)是通过让网页内容占据整个浏览器窗口来实现的。这通常需要对...
综上所述,这个例子展示了如何使用 JavaScript(这里使用 jQuery)实现滚动加载更多功能,结合服务器端 Node.js 应用提供动态数据。用户滚动页面时,页面会自动请求并加载新的新闻条目,直到没有更多数据为止。这种...
基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载...
本篇将深入探讨如何利用jQuery Mobile和Ajax实现滚动加载内容这一功能,这对于创建无限滚动的网页尤其重要。 一、jQuery Mobile 概述 jQuery Mobile是一个基于jQuery库的轻量级框架,它为移动设备提供了一套统一的...
前端接收到数据后,用JavaScript动态地将这些新数据添加到页面上,从而实现了滚动加载的效果。 此外,为了实现分页,我们需要在页面上显示分页链接或按钮。这可以通过计算总页数(总记录数除以每页记录数,向上取整...
综上所述,"CSS3+WOW.js网页滚动瀑布流图片加载动画特效"结合了现代Web技术,通过CSS3的动画和过渡效果,配合WOW.js的滚动检测功能,创造出一种吸引人的图片加载体验。同时,良好的文件组织结构也展示了专业的开发...
总结,"无刷新联级,滚动条滚动加载数据"是现代Web开发中的重要技术,它通过JavaScript和Ajax优化了用户体验,使得用户能够在不刷新页面的情况下浏览大量信息。同时,通过监听鼠标滚轮事件,实现滚动加载,使数据...
JS即时加载,当用到图片时才加载,只加载当前屏幕的图片 随着页面滚动加载当前屏幕图片
在jQuery无限滚动加载图片瀑布流代码中,核心依赖于jQuery库,特别是这里提到了`jquery-2.0.3.js`版本。jQuery是一个强大的JavaScript库,简化了DOM操作、事件处理、动画以及Ajax交互等任务。在这个项目中,它被用来...