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 相关文章推荐
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
Apr 20 jQuery
jquery.form.js异步提交表单详解
Apr 25 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jquery获取img的src值实例介绍
Jan 16 jQuery
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jquery检测上传文件大小示例
Apr 26 jQuery
jQuery+ajax实现用户登录验证
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
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python 性能优化方法小结
2017/03/31 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
python版本五子棋的实现代码
2018/12/11 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
毕业生求职信
2014/06/10 职场文书
校园元旦活动总结
2014/07/09 职场文书
未婚证明书模板
2014/10/08 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
办公室个人总结
2015/02/28 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL