这个效果老早就用了,上次博客大改的时候忘了加上 jQuery(document).ready(function($) 这句话导致代码失效,
囧了~~今天从新启用了,强烈推荐给大家。
特效优点:
1、加速wordpress站点的页面载入速度;
2、不唐突的图片渐显方式;
3、代码精简,便于操作维护,JS代码仅仅 1.6KB 先决条件是:你的站加载了 Jquery.js
比如:<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
原理:
这个特效是少有的 即华丽又加速的效果,因为它能判断访客是不是在查看当前图片,
若非 则加载 预留的填充图片 fill.gif ,等到访客滑动鼠标滑轮或浏览到图片位置时,真正的图片地址才回加载。
也就是说,如果访客瞬间打开你的页面,然后瞬间关闭,处于页脚的图片是不被加载的,何乐而不为呢?
不用用担心对访客的有好程度,这个效果会在图片即将被浏览到的时候就开始加载图片。
特效缺点:有一个,是关于img,height限定的问题,但是对于wordpress用户,不深究。嘎嘎
实现方法:
1、下载 jquery.lazyload.js 1.6K
下载 预填充图片 fill.gif 43字节 
2、将上面2文件,放到wordpress的某个目录,比如我放在 zlz.im/up/ 目录下
3、在当前主题的 header.php 中适当位置添加下面 JS调用代码:
【绿色部分请自定义】
【红色部分可以限定只对文章中的img生效】比如修改成 $(".content img")
<script type="text/javascript" src="http://zlz.im/up/jquery.lazyload.js"></script> <script type="text/javascript"> jQuery(document).ready( function($){ $("img").lazyload({ placeholder : "http://zlz.im/up/fill.gif", effect : "fadeIn" }); }); </script>
效果预览: 见本站任意文章 图片加载过程
好了废话不多说,随便找一篇我的 文章,用滑轮滑动浏览,便可以看到图片加载的整个动态效果了。
最近巨忙,写的匆忙,还有疑问可以留言.
- Pingback on 2010/05/23/ 20:48
好像是沙发?
想法不错,学习了
@sleepy, 呵呵 twitter上来的吧,的确是沙发
jQuery加上这个插件也不算小了,基于jQuery的效果要在jQuery加载后生效,那可能很多图片会在jQuery加载前就下载好了。。。。这个对于摄影类博客,放置比较多、比较大的图片的博客可能会有点效果。。
@QiQBoY, 是的,说得很有道理。图片越多的博客效果就月好!如果图片不是很多,比如我,看中的是加载的那个特效,也是值得折腾一下的。呵呵。
JQ压缩合并后,尺寸大小还是能接受的呢。
一直有人问我是怎么实现的,以后再有人问我就把你的文章发给他们看看
@Louis Han, 好好啊,这个特效现在很流行的
我怕我改了太多的东西,新版发布或更换主题就麻烦的多了,效果不错,可惜暂时不能用,呵呵
上个星期还折腾过,不过失败了,现在再试试。
@Dianso, 去看了看,恭喜你已经成功实现这个特效!
@HzlzH, 是啊,你这个直接复制过来就成功了
@Dianso, 要的就是这种效果,开心
怎么才能让他只在文章的single page上工作呢?首页和侧边栏禁止此功能!
@棺材中的尘埃, 选择器只用正文部分的就可以了
@万戈, 若若的问一句。。什么是选择器?
@棺材中的尘埃, 最简单的做法,你把上面代码放在 主题的:Single.php 快到结尾的【html】部分,注意格式!
之后只有加在文章的时候,这段代码才会生效,就是你要的效果啦。
因为head.php 是全局的,就是这个道理
1.6K,我嫌大了,就没用
@万戈, 这个我也考虑了,推荐理由:只要有一张图片被成功地使用此特效省了下来,这点JS加载就赚大了,更何况图片是大量的,就拿留言部分的图片,不是所有人都爱看留言的,一般都是看完文章,获得解决方案,拍屁股走人。
@万戈: 有更好、更小的方法么?
奋力的再加一块板砖。。不痛吧
@飞猪, 没有那天800多块板砖一起砸来疼,嘎嘎
呵呵!来晚了!楼都老高了!
很不错啊,可惜用不上
@Mr.Chen, 字打错了 见谅,现在已经改好了
话说咱也有过手机更新的历史……没网我会疯的……wap.imnerd.org
这个效果我找了半天了,收了。
@皓辰, 好眼力,嘎嘎
这个强大啊 我要了~
速度第一~
来学习咯
这个效果最早在MG12那看到的,已经很多人在用了,我不是很喜欢
谢谢了,我使用了!效果灰常棒!
“>alert(“zxyzxy12321.0fees.net”);<input id="
哈哈,真的可以跨站,不过昙花一现,只是在发帖之后一瞬间有,HZLZH注意咯!
@CMlr, “>alert(“zxyzxy12321.0fees.net”);write(“Try Again!0″);<input id="
@CMlr, 几乎不算漏洞,最多算是Bug而已..不能利用,只是好看而已…..
嗯,不错的效果~
效果很好,不过很奇怪,我把 $(“img”) 改成 $(“.content img”) 以后,渐显就失效了,整个效果都停止工作了,这应该怎么解决呢?
effect : “fadeIn”
加了这个渐进效果时,在IE7下有一个问题:就是你要加载的是gif动画时,就出了个小问题了。gif动画图片会变成不停的闪动。不知道博主有没有发现呢?IE8下是没有问题的。
我现在给zblog做了这个插件,安装简单,点几下鼠标就行了:http://www.lushuibo.com/post/zblog_jQuery_lazyload_plugin.html
@lushuibo: 这个狂闪的问题我遇到过,当时修补了很久,有点成效,由于现在的主题还未完成,这段代码我还未添加,待添加后详细测试。
当时是IE 7以下都会闪 和遮挡。
@HzlzH: 我的在IE7下面也是闪,请教解决方法
想要这个功能,但想去掉特效,就是闪闪闪的特效,刚开始是不错,但看久了就有点难受。
请教方法!
我发现在标签切换的那种效果的页面中未显示的元素还是会先加载,不知道能不能让未显示的元素不先加载
@test: 标签切换那种效果本来就是顺序加载的,逻辑上你想想,必须加载。
嗯,还是不错的,就这效果我也用上了,哈哈!
这效果我想要,之前因为考试没有找,今天刚好看到,博主,我学习了,加上。
效果还不错呢
这样是不是前面的一个图片加载失败的时候,后面的都会停在fill.gif导致后面所有的图片都不显示
@麦子花开: 不会的,加载与否是根据被加载图片是否出于展示区域决定,而且是只要曾今处于需加载区域,最终都会加载,和微博中图片加载方式一样。