`

js滚动加载

 
阅读更多

 QQ空间的邱跃鹏在其PPT里提到"按需加载"优化WEB性能的方式,  淘宝也使用了一边下拉滚动条,一边加载内容的方式; 出于好奇,google了一下, 整理如下:

   Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的.

   在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担.

    官方演示地址
   

    (一)如何使用Lazy Load?

 

     Lazy Load 依赖于 jQuery. 请将下列代码加入页面 head 区域:

    

Html代码 收藏代码
  1. <script src="jquery.js" type="text/javascript"></script>  
  2. <script src="jquery.lazyload.js" type="text/javascript"></script>  

 

  

   在你的执行代码中加入下面语句:

  

Js代码  收藏代码
  1. $("http://www.appelsiini.net/projects/lazyload/img").lazyload();   

 

   这将使 id="http://www.appelsiini.net/projects/lazyload/img" 区域下的图片将被延迟加载.  

 

  (二) 占位图片

     还可以设定一个占位图片并定义事件来触发加载动作. 这时需要为占位图片设定一个 URL 地址. 透明, 灰色和白色的 1x1 象素的图片已经包含在插件里面.

    

Js代码  收藏代码
  1. $("img").lazyload({ placeholder : "img/grey.gif" });   

 

 

 (三) 事件触发加载
事件可以是任何 jQuery 时间, 如: click 和 mouseover. 你还可以使用自定义的事件, 如: sporty 和 foobar. 默认情况下处于等待状态, 直到用户滚动到窗口上图片所在位置. 在灰色占位图片被点击之前阻止加载图片, 可以这样做:

 

Js代码  收藏代码
  1. $("img").lazyload({  
  2.     placeholder : "img/grey.gif",  
  3.     event : "click"  
  4. });   

 

 

 

(四) 使用特效

  当图片完全加载的时候, 插件默认地使用 >show() 方法来将图显示出来. 其实你可以使用任何你想用的特效来处理. 下面的代码使用 FadeIn 效果. 这是演示页面.

 

Js代码  收藏代码
  1. $("img").lazyload({   
  2.     placeholder : "img/grey.gif",  
  3.     effect : "fadeIn"   
  4. });  

 

 

(五)图片在容器里面

  可以将插件用在可滚动容器的图片上, 例如带滚动条的 DIV 元素. 你要做的只是将容器定义为 jQuery 对象并作为参数传到初始化方法里面. 这是水平滚动演示页面和垂直滚动的演示页面.

 

CSS 代码:

Html代码  收藏代码
  1. #container {  
  2.     height: 600px;  
  3.     overflow: scroll;  
  4. }  

 

 

 

JavaScript 代码:

Js代码  收藏代码
  1. $("img").lazyload({  
  2.      placeholder : "img/grey.gif",  
  3.      container: $("#container")  
  4. });   

 

 

  

(六) 当图片不顺序排列

   滚动页面的时候, Lazy Load 会循环为加载的图片. 在循环中检测图片是否在可视区域内. 默认情况下在找到第一张不在可见区域的图片时停止循环. 图片被认为是流式分布的, 图片在页面中的次序和 HTML 代码中次序相同. 但是在一些布局中, 这样的假设是不成立的. 不过你可以通过 failurelimit 选项来控制加载行为.

Js代码  收藏代码
  1. $("img").lazyload({   
  2.     failurelimit : 10  
  3. });  

 

 将 failurelimit 设为 10 令插件找到 10 个不在可见区域的图片是才停止搜索. 如果有一个猥琐的布局, 请把这个参数设高一点.

 

   (七)延迟加载图片

    Lazy Load 插件的一个不完整的功能, 但是这也能用来实现图片的延迟加载. 下面的代码实现了页面加载完成后再加载. 页面加载完成 5 秒后, 指定区域内的图片会自动进行加载. 这是延迟加载演示页面.

  

Js代码  收藏代码
  1. $(function() {  
  2.     $("img:below-the-fold").lazyload({  
  3.         placeholder : "img/grey.gif",   
  4.         event : "sporty"   
  5.     });  
  6. });  
  7. $(window).bind("load"function() {   
  8.     var timeout = setTimeout(function() {$("img").trigger("sporty")}, 5000);  
  9. });   

 

 

  (八) 最后

    最新版本: 源代码压缩的代码打包的代码

 

    已知问题
由于 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=""/>

分享到:
评论

相关推荐

    JS滚动加载图片

    给需要滚动加载的图片添加上data-url属性,值为图片的真实地址,src属性填写一张默认图片的地址。 方法引用 确定好一个有固定高度,且有滚动条的块级元素后,调用方法imgRunLoading(string id,boolean isConstant)...

    js滚动延时加载

    JavaScript滚动延时加载,也称为懒加载(Lazy Loading),是一种优化网页性能的技术。它主要应用于大量数据或图像的页面,通过只在用户滚动到可视区域时才加载相关内容,从而减少初次加载页面时的数据量,提高页面...

    iscroll.js滚动加载实例详解

    在本文中,我们将深入探讨iscroll.js,一个用于实现高性能滚动效果的JavaScript库,特别是针对滚动加载(infinite scroll)的实例。iscroll.js通过优化滚动性能,使得在移动设备和桌面浏览器上都能流畅地处理大量的...

    页面内容滚动加载

    页面内容滚动加载是一种常见的网页优化技术,也被称为“无限...以上就是关于"js滚动加载"的技术要点,它涉及到前端开发中的JavaScript编程、性能优化、用户体验设计等多个方面,是构建现代网页时不可或缺的一种技术。

    js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法

    今天我们就来看看他们的实现思路和js控制动态加载的代码 下面的代码主要是控制滚动条下拉时的加载事件的 在下面代码说明出,写上你的操作即可,无论是加载图片还是加载记录数据 都可以  别忘了引用jquery类库 $...

    jquery 滚动加载

    jQuery滚动加载,也被称为无限滚动或懒加载,是网页设计中一种常见的优化技术。它允许网页在用户滚动页面到底部时动态加载更多内容,而无需手动点击“加载更多”按钮或者刷新整个页面。这种技术在新闻网站、社交媒体...

    jQuery无限滚动加载图片瀑布流代码

    **jQuery无限滚动加载图片瀑布流代码详解** 在网页设计中,瀑布流布局(Masonry Layout)因其独特的展示方式,能够使页面元素排列得既美观又节省空间,特别适合用于图片展示类网站。jQuery无限滚动加载图片瀑布流...

    JS/dom高性能滚动加载

    在JavaScript和DOM编程中,高性能滚动加载是一种常见的优化技术,主要应用于大数据量、长列表的网页,如社交媒体新闻 feed 或者电商商品列表。这种技术旨在提高用户体验,避免因频繁的DOM操作导致页面卡顿,尤其是在...

    Ajax JQ 滚动加载页面

    Ajax(Asynchronous JavaScript and XML)和jQuery(JQ)结合的滚动加载页面技术,是现代网页开发中的一个重要实践,尤其在大数据量、高交互性的网站中广泛应用。这种技术通过监听用户的滚动行为,当页面接近底部时...

    手机端无限滚动加载

    无限滚动加载,也被称为“滚动触发加载”或“懒加载”,是现代网页和移动应用设计中常见的一种技术。它的核心思想是在用户滚动页面到底部时,动态地加载更多内容,而不是一次性显示所有信息,从而提高了页面加载速度...

    jquery mobile 滚动加载内容

    `js` 文件夹可能包含了实现滚动加载功能的 JavaScript 代码,而 `img` 文件夹则存储了相关的图像资源。 滚动加载的核心在于监听滚动事件,当用户滚动到页面的某个位置时触发。在 jQuery Mobile 中,我们可以使用 `$...

    360网站全屏滚动加载

    360网站全屏滚动加载的实现涉及到多个技术领域,包括HTML、CSS3和JavaScript。下面将详细介绍这些知识点。 首先,**全屏滚动**(Full Page Scrolling)是通过让网页内容占据整个浏览器窗口来实现的。这通常需要对...

    【JavaScript源代码】JavaScript实现滚动加载更多.docx

    综上所述,这个例子展示了如何使用 JavaScript(这里使用 jQuery)实现滚动加载更多功能,结合服务器端 Node.js 应用提供动态数据。用户滚动页面时,页面会自动请求并加载新的新闻条目,直到没有更多数据为止。这种...

    基于JavaScript开发的滚动加载页面图片+源码

    基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载页面图片+源码 基于JavaScript开发的滚动加载...

    php滚动加载加分页小实例

    前端接收到数据后,用JavaScript动态地将这些新数据添加到页面上,从而实现了滚动加载的效果。 此外,为了实现分页,我们需要在页面上显示分页链接或按钮。这可以通过计算总页数(总记录数除以每页记录数,向上取整...

    CSS3+WOW.js网页滚动瀑布流图片加载动画特效

    综上所述,"CSS3+WOW.js网页滚动瀑布流图片加载动画特效"结合了现代Web技术,通过CSS3的动画和过渡效果,配合WOW.js的滚动检测功能,创造出一种吸引人的图片加载体验。同时,良好的文件组织结构也展示了专业的开发...

    无刷新联级,滚动条滚动加载数据

    总结,"无刷新联级,滚动条滚动加载数据"是现代Web开发中的重要技术,它通过JavaScript和Ajax优化了用户体验,使得用户能够在不刷新页面的情况下浏览大量信息。同时,通过监听鼠标滚轮事件,实现滚动加载,使数据...

    JS图片滚动加载 只加载当前屏幕图片

    JS即时加载,当用到图片时才加载,只加载当前屏幕的图片 随着页面滚动加载当前屏幕图片

    jQuery无限滚动加载图片瀑布流代码.zip

    在jQuery无限滚动加载图片瀑布流代码中,核心依赖于jQuery库,特别是这里提到了`jquery-2.0.3.js`版本。jQuery是一个强大的JavaScript库,简化了DOM操作、事件处理、动画以及Ajax交互等任务。在这个项目中,它被用来...

    页面滚动到底部自动加载数据

    对于滚动加载,HTML5并没有直接提供相关的API,但通过与JavaScript(JQuery)的结合,可以实现这一功能。例如,HTML5的`&lt;section&gt;`元素可以用来组织页面内容,便于分块加载。 ### 2. JQUERY JQuery是一个强大的...

Global site tag (gtag.js) - Google Analytics