jQuery lazyLoad.js插件 是一款基于jquery框架,可以“实现”图片延迟加载的插件。请注意,我用了双引号,因为从我自己实际调试的结论来说呢,并不会延迟加载,而是先下载,然后通过改变<img>的src属性来隐藏原来的图片。
我们先来看看他的代码吧!
<script type="text/javascript" src="/static/jssrc/lazyload.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#team_main_side img").lazyload({
placeholder : "/static/theme/xituan/img/img_loading.gif",
effect : "fadeIn"
});
});
</script>
工作原理是先在<img>下创建original属性,并把src属性值赋值给original,然后再把src的值修改成你设置的 placeholder的值。当滚动条到达图片位置时,再把original的属性赋值给src。这个时候向服务器发出一个HTTP请求,确认下有没有修 改,服务器返回一个304状态,等于本来一遍HTTP请求能完成的工作,它用了2遍,非但没有减少开支,还增加开销,我彻底无语了。(如下图,火狐的firebug显示)
[img]
[/img]
假如你使用过这个插件的话,你有没有发现,无论多大的图片,只要你的滚动条到达那个位置的话,图片就会很快的显示出来,有点不可思议吧。那是因为那张图片已经下载好了。
再者,我自己的想法,jquery的代码是在页面加载完成后才会执行的,那页面加载完的时候,图片较小的都下载完了,再执行jq代码的话,那种意义就不存在了。
那有问题肯定要解决,把这个插件的代码改一改。
好吧,开始了
打开这个jquery.lazyLoad.js,找到如下图第一个红框的代码,直接注释掉;第二个红框是需要自己手工添加上去的,然后保存。
[img]
[/img]
在页面插入图片的代码如<img src="http://lzlee.com/upload/201010122047211034.jpg" alt=""/>修改成<img original="http://lzlee.com/upload/201010122047211034.jpg" src="http://lzlee.com/img/img_loading.gif" alt=""/>
最后记得插入js代码
<script type="text/javascript" src="/js/jquery.js"></script><!--jquery 包-->
<script type="text/javascript" src="/js/jquery.lazyload.js"></script><!--lazyload 插件-->
<script type="text/javascript"> //初始化代码
$(document).ready(function(){
$("#team_main_side img").lazyload({
placeholder : "http://lzlee.com/img/img_loading.gif",
effect : "fadeIn"
});
});
</script>
这样所有图片就都显示img_loading.gif了,由于都是请求的同一个图片,浏览器只会请求一次..对于减少服务器http请求来说,我们的目标已经达到了.当浏览器滚动到图片的位置时候,就会把图片加载进来。
- 大小: 90.6 KB
- 大小: 55.8 KB
分享到:
相关推荐
**jQuery LazyLoad 图片懒加载实例** 在网页设计中,图片加载是影响页面性能的关键因素。当页面包含大量图片时,一次性加载所有图片可能会导致页面加载速度变慢,用户体验下降。为了解决这一问题,我们可以使用`...
jQuery LazyLoad 是一个jQuery插件,它的主要功能是在用户滚动页面到图片所在位置时才开始加载图片,而不是在页面初始加载时就一次性加载所有图片。这种方式大大减少了首次加载页面时的数据量,提高了页面的加载速度...
例如,你可以设置一个包含所有懒加载图片的容器,以便在容器内滚动时触发加载: ```javascript $("img.lazyload").lazyload({ container: $("#content"), threshold: 200 // 图片距离视口200像素时开始加载 }); `...
**jQuery LazyLoad 图片延迟加载技术** 在网页设计中,图片是重要的元素之一,但大量图片的加载往往会导致页面加载速度变慢,用户体验下降。为了解决这个问题,开发者们引入了图片延迟加载(Lazy Load)技术。...
jQuery LazyLoad 实现了图片的延时加载(也称为懒加载),即只有当图片进入用户可视区域时,才会开始加载,这样可以显著减少页面初次加载时的流量,并提高页面加载速度。 **一、jQuery LazyLoad 基本原理** 1. **...
**jQuery LazyLoad 插件详解:实现图片延迟加载** 在网页设计中,为了提升用户体验,减少页面初次加载的时间,一种常见的优化策略是采用图片延迟加载(Image Lazy Load)技术。`jQuery LazyLoad` 是一个非常实用的 ...
<img data-src="images/lazy-image.jpg" alt="懒加载图片"> ``` - **初始化插件**:在文档加载完成后,调用`$.fn.lazyload`方法来初始化插件。 ```javascript $(function() { $("img[data-src]").lazyload(); });...
你必须修改 HTML 代码. 在 src 属性中设置展位符图片, demo 页面使用 1x1 像素灰色 GIF 图片.... 这里可以定义特定的 class 以获得需要延迟加载的图片对象. 通过这种方法你可以简单地控制插件绑定.
jQuery.Lazyload.js是一个高效实用的JavaScript插件,它能够显著提升网页加载速度,同时赋予网页图片渐显效果,从而创造出既美观又高效的网页浏览体验。 jQuery.Lazyload.js的核心原理在于"懒加载"(Lazy Loading)...
- 图片画廊:在用户滚动时逐个加载图片,避免一次性加载大量图片导致页面卡顿。 - 长文章或博客:文章中的图片可以使用延迟加载,用户阅读到哪里,图片就加载到哪里。 - 商品列表:电商平台的商品列表中,商品...
5. **替换数据源**:当图片进入视口时,将`data-src`中的URL替换到`src`属性中,触发浏览器加载图片。 6. **可选:动画效果**:为了提供更好的用户体验,还可以添加一些过渡效果,如淡入等,使得图片加载更加平滑。...
<img class="lazyload" data-src="path/to/your/image.jpg" alt="延迟加载图片"> ``` 3. **初始化插件**:在文档加载完成后,调用 jQuery.lazyload 的初始化方法,设置必要的选项。 ```javascript $(function...
jQuery LazyLoad Any 是一个基于 jQuery 的轻量级插件,它允许开发者在用户滚动到特定元素时才加载它们,而不是一次性全部加载。这种技术被称为“懒加载”(Lazy Loading),可以显著减少页面初次加载时的数据量,...
jQuery LazyLoad 是一款轻量级的JavaScript插件,它允许我们在网页滚动时动态加载图片。这种策略只加载当前可视区域内的图片,从而显著提高页面的加载速度。该插件通过监听滚动事件来判断图片是否进入视口,一旦进入...
3. **加载图片**:一旦图片进入视口,插件会替换图片的`src`属性,实际请求图片数据并显示在页面上。 **使用方法:** 1. **引入jQuery库**:首先,确保页面已经引入了jQuery,因为jQuery.lazyload.js依赖于jQuery...
在这里,`.lazy`是懒加载图片的CSS选择器,可以根据实际需求进行修改。 **三、配置选项** jQuery LazyLoad.js 提供了一些可配置的选项,以满足不同的需求: 1. `threshold`:设置图片进入视口的阈值,单位为像素...
JavaScript在这里起到了关键作用,它监控用户的滚动事件,判断图片是否进入可视区域,然后决定何时加载图片。 在压缩包内的文件中: 1. "说明.htm"可能是一个文档,详细解释了如何运行和理解这个懒加载示例,可能...
为了解决这个问题,开发者们通常采用延迟加载(Lazy Load)技术,只在图片即将进入浏览器视口时才加载,这就是jQuery Lazyload插件的核心功能。它有效地减少了用户首次访问页面时的数据传输量,提升了用户体验。 **...
从网上下载来的版本多多少少都...没解决方案,就得发挥咱DIY的精神,自己想法解决,分析了BUG,理了理思路,结合前段时间我做弹出窗口特效的方法,解决了Jquery.LazyLoad.js的兼容问题,现将思路和方法与大家分享一下。