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

图片延迟加载插件

 
阅读更多

这个插件是非常有用的,它提高了性能延迟长网页图像加载因为外面的视口图像(网页可见部分)不会被加载到用户滚动到他们。
默认情况下,只有窗口滚动到他们的位置才显示图片。如果你想要你想让图片早一点显示,例如想让距离屏幕200像素我们可以调用一下方法
$("img").unveil(200);
你还可以直接触发unveil事件,让图片立即显示
$("img").trigger("unveil");

源码如下:

;(function($) {

  $.fn.unveil = function(threshold) {

    var $w = $(window),
        th = threshold || 0,
        retina = window.devicePixelRatio > 1,
        attrib = retina? "data-src-retina" : "data-src",
        images = this,
        loaded,
        inview,
        source;
	//one方法只执行一次
    this.one("unveil", function() {
      source = this.getAttribute(attrib);
      source = source || this.getAttribute("data-src");
      if (source) this.setAttribute("src", source);
    });

    function unveil() {
	  //filter方法筛选出与指定函数返回值匹配的元素集合
      inview = images.filter(function() {
        var $e = $(this),
            wt = $w.scrollTop(),
            wb = wt + $w.height(),
            et = $e.offset().top,
            eb = et + $e.height();

        return eb >= wt - th && et <= wb + th;
      });

      loaded = inview.trigger("unveil");
	  //not方法从匹配的元素集合中移除指定的元素
	  images = images.not(loaded);
    }

    $w.scroll(unveil);
    $w.resize(unveil);

    unveil();

    return this;

  };

})(jQuery);

 

基本思路为:
1.对选择的图片用one事件绑定方法绑定unveil事件。
2.当窗口滚动scroll和调整大小resise的时候调用unveil方法
3.unveil方法是内部的核心方法,此放过通过filter方法来过滤所有的图片把满足条件的图片筛选出来,完了触发unveil事件,让图片加载真正的图片。成功以后通过not方法从已经选择的图片中删除此图片。
unveil方法过滤条件算法是如果当前滚动条的高度已经到了图片指定的距离顶端的高度时就显示图片
分享到:
评论

相关推荐

    网页图片延迟加载插件

    网页图片延迟加载插件通常包含以下组件: 1. **JavaScript代码**:用于监听滚动事件、检测图片是否进入视口以及加载图片。 2. **CSS样式**:可能包含一些预加载占位符或者过渡效果,使得图片在加载过程中看起来更...

    jquery 图片延迟加载插件制作tab选项卡图片异步加载

    本文将详细介绍如何使用jQuery制作一个图片延迟加载插件,以及如何将其应用于tab选项卡中的图片异步加载。 首先,我们需要理解jQuery的基本用法。jQuery是一个强大的JavaScript库,提供了简洁的API来处理DOM操作、...

    jQuery滚动图片延迟加载插件【一个大神写的】

    **jQuery滚动图片延迟加载插件详解** 在网页设计中,图片是重要的元素之一,但大量图片的加载可能会拖慢页面的加载速度,特别是在用户首次访问页面时。为了解决这个问题,一种常见的技术是图片延迟加载,也称为懒...

    Jquery.ScrollLoading图片延迟加载插件

    **jQuery.ScrollLoading图片延迟加载插件详解** 在网页设计中,优化页面性能是至关重要的,尤其是在处理大量图片的页面时。传统的做法是将所有图片一次性加载到浏览器中,这可能会导致页面加载速度变慢,用户体验...

    jQuery图片延迟加载插件Lazy Load.zip

    jQuery图片延迟加载插件Lazy Load是一种高效的前端技术,旨在优化网页性能,特别是在包含大量图片的网页上。在当今互联网环境中,用户体验是至关重要的,而快速的页面加载速度是提升用户体验的关键因素之一。Lazy ...

    超级好用的js图片延迟加载插件

    为了解决这一问题,"超级好用的js图片延迟加载插件"应运而生。这种插件采用了延迟加载(Lazy Loading)技术,使得图片在实际进入用户视口时才开始加载,从而优化了页面性能。 延迟加载的核心思想是只加载用户当前...

    jQuery图片延迟加载插件

    jQuery图片延迟加载插件是一款基于jquery实现的轻量级图片延迟加载插件。由于图片太大,加载缓慢,本插件可以完美解决该问题,加载图片之前先显示loading图片,用户体验更好。本文档有实例,可以直接使用。

    jQuery图片延迟加载插件jQuery.lazyload

    jQuery图片延迟加载插件jQuery.lazyload,使用延迟加载在可提高网页下载速度。在某些情况下,它也能帮助减轻服务器负载。演示地址http://www.jq22.com/jquery-info390

    jquery图片延迟加载

    4. **图片懒加载插件选择**:除了`lazyload`,还有其他如`lozad.js`、`lazysizes`等优秀插件,可以根据项目需求选择合适的。 5. **SEO优化**:确保在服务器端或使用AMP(Accelerated Mobile Pages)时,图片的元...

    jQuery实现鼠标滚动图片延迟加载效果附源码下载

    本特效没有使用专门的图片延迟加载插件,只需要一小段jQuery代码就实现了图片延迟加载,使用非常方便。在本文后面附有源码下载。 效果展示 源码下载 用到的加载中的图片: 代码如下: &lt;!DOCTYPE html&gt; &lt;...

    Jquery.LazyLoad.js实现图片延迟加载插件

    从网上下载来的版本多多少少都有些BUG,尤其是加载后在IE6和IE7下图片闪动是个大问题,在网上查了很久,也没有找到相关的解决方案。没解决方案,就得发挥咱DIY的精神,自己想法解决,分析了BUG,理了理思路,结合前...

    LazyImgv1.0图片延迟加载插件

    默认情况下: 在IMG中满足以任何一个条件,都会加载图片; 1、没有class属性 2、如果有class属性并且属性中不包含以"lazy-"为前缀的css样式名 如何禁止默认加载图片 JS代码: LzDefault.action = false; 如何在点击...

    图片延迟加载的jq

    jQuery.lazyload则是一个基于jQuery的插件,专门用于实现图片延迟加载。 **一、jQuery.lazyload的基本原理** jQuery.lazyload的工作原理是监听滚动事件,当用户滚动页面,即将或已经看到图片时,才开始加载图片。...

    JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】

    本文实例讲述了JS图片延迟加载插件LazyImgv1.0用法。分享给大家供大家参考,具体如下: 注:LazyImg 必须定义lazy-data属性,属性值是src的图片路径 引入JS文件: [removed][removed] 默认情况下: 在IMG中满足以...

    jquery 图片延迟加载

    - `jquery.lazyload.js`: jQuery的延迟加载插件文件,提供延迟加载功能的实现。 - `styles.css`: 可能用于设置占位符样式或加载指示器的样式。 - `images/`: 存放实际的图片资源。 在`index.html`中,图片元素可能...

    Jquery.ScrollLoading图片延迟加载

    jQuery ScrollLoading 就是一种基于 jQuery 实现的图片延迟加载插件,它在用户滚动到图片所在位置时才开始加载,从而提高页面加载速度,优化用户体验。 ### 1. jQuery 概述 jQuery 是一个高效、简洁、易用的 ...

    jquery Loading图片延迟加载特效.zip

    在标题“jquery Loading图片延迟加载特效.zip”中,我们可以理解这是一款基于jQuery实现的图片延迟加载插件或库,它包含了一个用于展示滚动页面时图片逐步加载的特效。 描述提到,“jquery Loading图片延迟加载是一...

    图片延迟加载.zip

    在本例中,我们有一个名为"图片延迟加载.zip"的压缩包,它包含一个基于jQuery实现的轻量级图片延迟加载插件。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画效果和Ajax交互等任务。通过结合...

Global site tag (gtag.js) - Google Analytics