不少WorldPress博客里都有这样的一种效果:当滚动条拉动到图片处时,图片才开始下载,并出现一个渐隐特效,非常的不错。可惜Zblog里却很少发现,后来发现这其实非常容易就可以通过jQuery插件LazyLoad实现啦!
什么是ImageLazyLoad技术?
在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面(通过滚动条下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升。
而LazyLoad正是一款解决这个问题的完美插件,使用这款插件以后,通过FireFox查看网页媒体的时候会发现当前屏内没有显示的图片都会被预设的图片所取代,只有当页面滚动到了图片位置时,图片才会被请求和下载。这样不仅可以减少对服务器的请求数节约服务器资源,还能实现一种非常酷的效果呢。(试试拉动到评论列表处看看效果吧)
我该如何实现呢?
LazyLoad插件需要jQuery 1.2.6及以上版本才支持,而默认的Zblog中的jQuery版本却1.1.4,所以如果你要使用这个插件首先必须升级jQuery。
我该如何升级ZBlog jQuery呢?
ZBlog默认的jQuery加载在Script/common.js中,你可以使用找到它并删除它,再调用谷歌的jQuery API(http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js)或者重新下载最新版本的jQuery代码替换刚刚Script/common.js中删除的jQuery代码。
在保证你的博客的jQuery版本的1.2以上后,你只需上传一张1X1的小图片到你的空间中,再在模板中加入以下代码就OK了:
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('(5($){$.J.L=5(r){8 1={d:0,A:0,b:"h",v:"N",3:4};6(r){$.D(1,r)}8 m=9;6("h"==1.b){$(1.3).p("h",5(b){8 C=0;m.t(5(){6(!$.k(9,1)&&!$.l(9,1)){$(9).z("o")}j{6(C++>1.A){g B}}});8 w=$.M(m,5(f){g!f.e});m=$(w)})}g 9.t(5(){8 2=9;$(2).c("s",$(2).c("i"));6("h"!=1.b||$.k(2,1)||$.l(2,1)){6(1.u){$(2).c("i",1.u)}j{$(2).K("i")}2.e=B}j{2.e=x}$(2).T("o",5(){6(!9.e){$("<V />").p("X",5(){$(2).Y().c("i",$(2).c("s"))[1.v](1.Z);2.e=x}).c("i",$(2).c("s"))}});6("h"!=1.b){$(2).p(1.b,5(b){6(!2.e){$(2).z("o")}})}})};$.k=5(f,1){6(1.3===E||1.3===4){8 7=$(4).F()+$(4).O()}j{8 7=$(1.3).n().G+$(1.3).F()}g 7<=$(f).n().G-1.d};$.l=5(f,1){6(1.3===E||1.3===4){8 7=$(4).I()+$(4).U()}j{8 7=$(1.3).n().q+$(1.3).I()}g 7<=$(f).n().q-1.d};$.D($.P[':'],{"Q-H-7":"$.k(a, {d : 0, 3: 4})","R-H-7":"!$.k(a, {d : 0, 3: 4})","S-y-7":"$.l(a, {d : 0, 3: 4})","q-y-7":"!$.l(a, {d : 0, 3: 4})"})})(W);',62,62,'|settings|self|container|window|function|if|fold|var|this||event|attr|threshold|loaded|element|return|scroll|src|else|belowthefold|rightoffold|elements|offset|appear|bind|left|options|original|each|placeholder|effect|temp|true|of|trigger|failurelimit|false|counter|extend|undefined|height|top|the|width|fn|removeAttr|lazyload|grep|show|scrollTop|expr|below|above|right|one|scrollLeft|img|jQuery|load|hide|effectspeed'.split('|'),0,{})) $(document).ready( function($){ $("img").lazyload({ placeholder : "http://你的域名/upload/grey.gif", effect : "fadeIn" }); });
如果你觉得麻烦,不想改模板,没关系,因为已经有人写出了这个插件啦!下载此插件
原创文章转载请注明引自石头博客 http://www.stou.info/ 欢迎订阅石头博客。
很喜欢你网站从上至下的这种渐隐效果,。
发现一个问题,当jq的版本升高验证码就不能点了,有时候发表评论的按钮也卡在那里,所以内容页和评论页一直没用,不知道是怎么回事,好像你的评论页没事儿,这个页面的验证码不能点
好麻烦啊。。还是下载插件试试、。。
这个网站很不错啊!~
有点长,没耐心去搞了
没有演示。
这代码太复杂了
嗯嗯,是该把这疙瘩给拿掉了
本文引石头博客,
学习了,很多博客添加的图片超过了文本范围就会整个变形,诶,……
学习了。。用在我的zblog上面看看~
看不大懂啊! 俺就想找个图片插件!
这个代码看上去跟WP的好不一样捏
这个比之前我用的能好点,至少显示图片看起来更缓和点
石头在研究JQ?
只要复制那些代码放到zblog的模版中就行了吗
single default这几个模版吗?
放在头部还在尾部呢?
刚弄wordpress,不晓得wp怎么整出效果,不过还是默认好了
我也实现了,哈哈
石头.. 这个不一定能提高效率.. 减轻服务器负担啊...
不太喜欢这个效果.....
我也喜欢研究代码,但一看代码眼睛就晕,呵呵
1*1的图片放在哪?
效果很好啊。!
顺了,我的是wordpress
我用的是WP,不太懂ZBLOG,不过搞好了不错也
这代码太复杂了
这些代码偶看得眼晕。
呵呵,这个好,已经实现!赞一个........
哈哈,石头真棒哦!
对外链过来的图片有没有效果呢?
好东西啊这个是!
我不再懒了,把这个整上的同时顺便把之前一直没搞定的问题给弄清楚来。
怎么不整个演示看看。
来坐沙发
沙发啊