`
cpf1985
  • 浏览: 78324 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

改造jQuery lazyLoad图片分屏加载

阅读更多
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
分享到:
评论
1 楼 zpopopo 2011-09-04  
延迟加载内容怎么办

相关推荐

    JQuery LazyLoad 图片懒加载实例

    **jQuery LazyLoad 图片懒加载实例** 在网页设计中,图片加载是影响页面性能的关键因素。当页面包含大量图片时,一次性加载所有图片可能会导致页面加载速度变慢,用户体验下降。为了解决这一问题,我们可以使用`...

    jquery.lazyload图片预加载效果 jquery预加载

    jQuery LazyLoad 是一个jQuery插件,它的主要功能是在用户滚动页面到图片所在位置时才开始加载图片,而不是在页面初始加载时就一次性加载所有图片。这种方式大大减少了首次加载页面时的数据量,提高了页面的加载速度...

    JQuery Lazyload加载图片实例

    例如,你可以设置一个包含所有懒加载图片的容器,以便在容器内滚动时触发加载: ```javascript $("img.lazyload").lazyload({ container: $("#content"), threshold: 200 // 图片距离视口200像素时开始加载 }); `...

    jquery lazyload图片延迟加载技术

    **jQuery LazyLoad 图片延迟加载技术** 在网页设计中,图片是重要的元素之一,但大量图片的加载往往会导致页面加载速度变慢,用户体验下降。为了解决这个问题,开发者们引入了图片延迟加载(Lazy Load)技术。...

    jquery lazyload延时加载

    jQuery LazyLoad 实现了图片的延时加载(也称为懒加载),即只有当图片进入用户可视区域时,才会开始加载,这样可以显著减少页面初次加载时的流量,并提高页面加载速度。 **一、jQuery LazyLoad 基本原理** 1. **...

    jquery.lazyload 实现图片延迟加载

    **jQuery LazyLoad 插件详解:实现图片延迟加载** 在网页设计中,为了提升用户体验,减少页面初次加载的时间,一种常见的优化策略是采用图片延迟加载(Image Lazy Load)技术。`jQuery LazyLoad` 是一个非常实用的 ...

    jquery.lazyload.js 图片懒加载 --demo

    &lt;img data-src="images/lazy-image.jpg" alt="懒加载图片"&gt; ``` - **初始化插件**:在文档加载完成后,调用`$.fn.lazyload`方法来初始化插件。 ```javascript $(function() { $("img[data-src]").lazyload(); });...

    图片延迟加载特效,jquery.lazyload.js

    你必须修改 HTML 代码. 在 src 属性中设置展位符图片, demo 页面使用 1x1 像素灰色 GIF 图片.... 这里可以定义特定的 class 以获得需要延迟加载的图片对象. 通过这种方法你可以简单地控制插件绑定.

    jquery.lazyload.js

    jQuery.Lazyload.js是一个高效实用的JavaScript插件,它能够显著提升网页加载速度,同时赋予网页图片渐显效果,从而创造出既美观又高效的网页浏览体验。 jQuery.Lazyload.js的核心原理在于"懒加载"(Lazy Loading)...

    jQuery_lazyload

    - 图片画廊:在用户滚动时逐个加载图片,避免一次性加载大量图片导致页面卡顿。 - 长文章或博客:文章中的图片可以使用延迟加载,用户阅读到哪里,图片就加载到哪里。 - 商品列表:电商平台的商品列表中,商品...

    js lazyLoad 图片懒加载demo

    5. **替换数据源**:当图片进入视口时,将`data-src`中的URL替换到`src`属性中,触发浏览器加载图片。 6. **可选:动画效果**:为了提供更好的用户体验,还可以添加一些过渡效果,如淡入等,使得图片加载更加平滑。...

    图片延迟加载 lazyload

    &lt;img class="lazyload" data-src="path/to/your/image.jpg" alt="延迟加载图片"&gt; ``` 3. **初始化插件**:在文档加载完成后,调用 jQuery.lazyload 的初始化方法,设置必要的选项。 ```javascript $(function...

    前端项目-jquery-lazyload-any.zip

    jQuery LazyLoad Any 是一个基于 jQuery 的轻量级插件,它允许开发者在用户滚动到特定元素时才加载它们,而不是一次性全部加载。这种技术被称为“懒加载”(Lazy Loading),可以显著减少页面初次加载时的数据量,...

    JQueryLazyLoad 图片懒加载实例

    jQuery LazyLoad 是一款轻量级的JavaScript插件,它允许我们在网页滚动时动态加载图片。这种策略只加载当前可视区域内的图片,从而显著提高页面的加载速度。该插件通过监听滚动事件来判断图片是否进入视口,一旦进入...

    jQuery.lazyload.js

    3. **加载图片**:一旦图片进入视口,插件会替换图片的`src`属性,实际请求图片数据并显示在页面上。 **使用方法:** 1. **引入jQuery库**:首先,确保页面已经引入了jQuery,因为jQuery.lazyload.js依赖于jQuery...

    懒加载jquery.lazyload.js

    在这里,`.lazy`是懒加载图片的CSS选择器,可以根据实际需求进行修改。 **三、配置选项** jQuery LazyLoad.js 提供了一些可配置的选项,以满足不同的需求: 1. `threshold`:设置图片进入视口的阈值,单位为像素...

    Lazyload图片延迟加载效果.rar

    JavaScript在这里起到了关键作用,它监控用户的滚动事件,判断图片是否进入可视区域,然后决定何时加载图片。 在压缩包内的文件中: 1. "说明.htm"可能是一个文档,详细解释了如何运行和理解这个懒加载示例,可能...

    jQuery lazyload

    为了解决这个问题,开发者们通常采用延迟加载(Lazy Load)技术,只在图片即将进入浏览器视口时才加载,这就是jQuery Lazyload插件的核心功能。它有效地减少了用户首次访问页面时的数据传输量,提升了用户体验。 **...

    图片延迟加载显示代码Jquery.LazyLoad.js改良版

    从网上下载来的版本多多少少都...没解决方案,就得发挥咱DIY的精神,自己想法解决,分析了BUG,理了理思路,结合前段时间我做弹出窗口特效的方法,解决了Jquery.LazyLoad.js的兼容问题,现将思路和方法与大家分享一下。

Global site tag (gtag.js) - Google Analytics