经常看到些网站滚动时自动加载图片,这样做的好处是,不必一次性加载完所有数据,就可以浏览内容。
查找了些相关资,现作下整理:
1、jQuery滚动加载插件scrollLoading,将其封装做成插件:
jquery.scrollLoading.js
(function($) { $.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") { //图片,改变src o.attr("src", url); } else { o.load(url); } data.obj = null; } } }); return false; }; //事件触发 //加载完毕即执行 loading(); //滚动执行 $(window).bind("scroll", loading); }; })(jQuery);
2、scrollLoading使用
<script type="text/javascript" src="../ajax/libs/jquery/1.4.1/jquery.min.js"></script> <script type="text/javascript" src="../js/jquery.scrollLoading.js"></script> <script> $(function() { $(".scrollLoading").scrollLoading(); }); </script>
3、HTML中加载图片代码
<div id="zxxMainCon" class="zxx_main_con"> <script> var tempHTML = ""; for (var i=1; i<=30; i+=1) { if (i == 6) { tempHTML += '<div class="zxx_test_list scrollLoading" data-url="loaded.html"><div style="padding:100px 0; text-align:center;"><img src="http://www.zhangxinxu.com/study/image/loading.gif" style="margin:0 8px -8px 0;" />加载中...</div></div>'; } else { tempHTML += '<div class="zxx_test_list tc"><img class="scrollLoading" data-url="http://image.zhangxinxu.com/image/study/head/s180/'+i+'.jpeg" src="http://www.zhangxinxu.com/study/image/pixel.gif" width="180" height="180" style="background:url(http://www.zhangxinxu.com/study/image/loading.gif) no-repeat center;" /><br />图片'+i+'(新浪微博提供)</div>'; } } document.getElementById("zxxMainCon").innerHTML = tempHTML; </script> </div>
相关推荐
主要介绍了jQuery滚动加载图片实现原理,通过四个方面来说明懒加载技术的原理,感兴趣的小伙伴们可以参考一下
vs2015 实现滚动条加载bmp图片 vs2015 实现滚动条加载bmp图片
jQuery实现无限滚动加载图片瀑布流特效源码.zip
html5实现的页面滚动图片动画加载特效源码
仿微博内容滑动加载,图片滚动无限加载(漂亮的放大效果).
本特效没有使用专门的图片延迟加载插件,只需要一小段jQuery代码就实现了图片延迟加载,使用非常方便。在本文后面附有源码下载。 效果展示 源码下载 用到的加载中的图片: 代码如下: <!DOCTYPE html> <...
WinForm 实现图片滚动 拖一个Timer和一个Panal控件 #region 把picbox绑定到Panal的最右边 private void GetImagePath(string strImagePath) { //1.在窗体中拖一个Panal控件 //2、定义一个PicBox用来存储图片,...
实现滚动加载的一个功能函数,需要的朋友可以参考一下
这是我实现的一个效果,就是怎么滚动都加载不玩。就跟瀑布一样流啊流! 这里的实现方式我们只说Js实现方法 实现原理: 对容器中已有数据块元素进行第一次计算1 容器总宽度 2 列宽度 3 最小列数 ,得到列数后,用一...
jQuery实现图片动态加载效果 鼠标滚动时图片动态加载
请注意看 MainActivity 里的注释 ...功能和 腾讯 应用宝 360手机助手 一样 代码简单 设置简单 自定义圆点 滚动时间 Gallery 实现 滚动图片只有一个类 可加载网络图片 也能使用本地图片 加了好多注释
图片出现在视口区域时,进行图片加载 1、节省带宽 2、提高页面加载速度
商品图片不固定高度,高度自适应。 使用masonry实现瀑布流布局展示,搭配imagesloaded保证图片加载完成后再进行...使用dropload实现H5界面无缝滚动加载下一页; H5运行在以上终端(微信、安卓、IOS内嵌H5)都可以生效
无穷滚动就是滑动滚动条,实现数据块的无穷加载。 我们以瀑布流的布局来实现无穷加载。瀑布流就是一些等宽不等高的数据块布局。在滚动条下拉时,它会进行加载。那么问题就是在判断什么时候应该加载。 我们首先...
基于vue2的图片懒加载项目,后台代理百度图片api接口,实现滚动懒加载,当前视图区域加载
jquery异步加载图片的插件jqGalScroll下载 jquery微型相册插件Micro Image Gallery下载 jQuery把图片放大及变亮特效插件下载 jquery拖动滚动条控制图片滚动及图片放大特效的示例 jquery旋转式图片切换并带图片放大...
基于vue的懒加载插件 - 实现图片或者其他资源进入可视区域后加载
jQuery实现滚动网页延时加载图片的2个例子,这样的特效我们经常在一些大的网站看到,是不是也想给自己的小站来一个此类功能呢?欢迎下载此代码实例。