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自定义图片上传插件实例代码
Apr 04 jQuery
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
jquery学习笔记之无new构建详解
Dec 07 jQuery
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
jQuery实现数字华容道小游戏(实例代码)
Jan 16 jQuery
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
jQuery实现简单全选框
Sep 13 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php过滤表单提交的html等危险代码
2014/11/03 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
Python 错误和异常小结
2013/10/09 Python
Python简单的制作图片验证码实例
2017/05/31 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
Python使用进程Process模块管理资源
2020/03/05 Python
python实例化对象的具体方法
2020/06/17 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
出国签证在职证明
2014/01/16 职场文书
决心书范文
2014/03/11 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
水电工岗位职责
2015/02/14 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
Python中的套接字编程是什么?
2021/06/21 Python