jquery实现异步加载图片(懒加载图片一种方式)


Posted in jQuery onApril 24, 2017

首先将插件在jq后面引入

(function($) { 
        // alert($.fn.scrollLoading); 
        $.fn.scrollLoading = function(options) { 
          var defaults = { 
            attr: "data-url" 
          }; 
          var params = $.extend({}, defaults, options || {}); 
          params.cache = []; 
          $(this).each(function() { 
            var node = this.nodeName.toLowerCase(), 
              url = $(this).attr(params["attr"]); 
            if(!url) { 
              return; 
            } 
            var data = { 
              obj: $(this), 
              tag: node, 
              url: url 
            }; 
            params.cache.push(data); 
          }); 
 
          var loading = function() { 
            var st = $(window).scrollTop(), 
              sth = st + $(window).height(); 
            $.each(params.cache, function(i, data) { 
              var o = data.obj, 
                tag = data.tag, 
                url = data.url; 
              if(o) { 
                post = o.position().top; 
                posb = post + o.height(); 
                if((post > st && post < sth) || (posb > st && posb < sth)) { 
                  if(tag === "img") { 
                    o.attr("src", url); 
                  } else { 
                    o.load(url); 
                  } 
                  data.obj = null; 
                } 
              } 
            }); 
            return false; 
          }; 
 
          loading(); 
          $(window).bind("scroll", loading); 
        }; 
      })(jQuery);

然后在底部初始化

$(document).ready(function () { 
    //实现图片慢慢浮现出来的效果 
    $("img").load(function () { 
      //图片默认隐藏  
      $(this).hide(); 
      //使用fadeIn特效  
      $(this).fadeIn("5000"); 
    }); 
    // 异步加载图片,实现逐屏加载图片 
    $(".scrollLoading").scrollLoading();  
  });

需要修改img标签为

<img class="scrollLoading" data-url="image/logo.jpg" src="images/load.gif" />

data-url表示将要异步加载的图片,src表示首先加载的图片(一般会是小图片,或者是一个动画,网页中全部的src链接同一个图片,这样网页就加载快好多,这个时候再异步的加载要加载的图片,也就现在要说的功能)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery树插件zTree使用方法详解
May 02 jQuery
jQuery中的deferred对象和extend方法详解
May 08 jQuery
jQuery 表单序列化实例代码
Jun 11 jQuery
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
jQuery读取本地的json文件(实例讲解)
Oct 31 jQuery
jQuery进阶实践之利用最优雅的方式如何写ajax请求
Dec 20 jQuery
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
jquery实现垂直手风琴导航栏
Feb 18 jQuery
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
Nov 09 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 #jQuery
jQuery实现百度登录框的动态切换效果
Apr 21 #jQuery
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 #jQuery
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 #jQuery
jQuery+pjax简单示例汇总
Apr 21 #jQuery
基于jQuery实现文字打印动态效果
Apr 21 #jQuery
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
Apr 20 #jQuery
You might like
一个数据采集类
2007/02/14 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
php的ajax简单实例
2014/02/27 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
Vue实现简易计算器
2020/02/25 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
Django 连接sql server数据库的方法
2018/06/30 Python
Python requests模块实例用法
2019/02/11 Python
Python递归函数实例讲解
2019/02/27 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
淘宝网店营销策划书
2014/01/11 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
聘用意向书
2014/07/29 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
英语辞职信范文
2015/02/28 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
Python初学者必备的文件读写指南
2021/06/23 Python
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript