功能为延迟加载网页上的图片,只有滚动条拉到该图片的位置,才会去发请求下载图片,可以让页面更快的加载。
特别适用于页面比较高,图片比较多,而且藏的比较深的页面,例如论坛,博客等。
网上有很多这类插件,但是功能都太过多余,这个脚本只有核心功能,优化了代码可以提高运行效率,在IE6.0+ FF5.0 CHROME OPERA safari 测试通过,欢迎2次开发!
使用方法很简单,目前就实现2个参数:
1 | $(".delayload").DelayLoad({ |
图片代码这么写,红色的代码是可以用户自定义的。
1 | <img src=“” oringal=“evo.png” class=“delayload” /> |
之前由于疏忽有个小BUG,即图片在第一屏的时候不滚动SCROLL不会加载,现在新放了一个版本,修正了这个BUG,并且优化了部分代码,重新压缩过了!
靠竟然不能放附件!算了放代码吧:
1、先放google Closure Compiler压缩过的
直接保存为Jquery.delayload.js或是放在有jquery环境的js脚本中即可。
1 | (function(a){a.fn.DelayLoad=function(g){function d(a,c){this.count=a;this.end=function(){if(this.count<1)return!0};this.oringal=c}var e={oringal:"oringal",defaultimg:""};a.extend(e,g||{});var c=this;d.prototype.initialize=function(b){a(this).attr("src",b)};d.prototype.show=function(b){if(a(window).height()+a(window).scrollTop()>=b.position_h)a(b).attr("src",a(b).attr(this.oringal)),b.loaded=!0,this.count--,c=a(a.grep(c,function(a){return!a.loaded}))};d.prototype.scrolling=function(){var b=this;c.each(function(){b.show(this)}); |
2、再放developer版本,有详细注释:
1 | /* |