凡卡互动 Interaction Design Team
三月 23rd, 2012

关于 jQuery延迟加载插件(Lazy Load) 的一些总结

lazy_load_img最近在优化网站的过程中接触到了图片延迟加载的一些技术,上网一搜,方法五花八门。其中用的比较多的是jQuery的一款插件——Lazy Load。关于这个插件的讨论网上也比较多,在学习实践了一段时间后,也来晒晒我的一些心得。

 

先简单了解下Lazy Load的用法:

下载最新版本的jquery.lazyload.js

1.在网页的<head></head>标签之间将它包含进去,由于它是依赖于jquery的,因此也必须包含jquery.js,如下两行代码:

<script src=”jquery.js” type=”text/javascript”></script> 

<script src=”jquery.lazyload.js” type=”text/javascript”></script>

 

2.在你的页面中加入如下的javascript:

<script type=”text/javascript”>
    $(“img”).lazyload();
</script>

这将会使所有的图片都延迟加载。

现在可视区域外的图片是不会“显示”的,当页面向下滚动的时候,图片才会逐一“显示”出来。为什么要说“显示”呢?? 慢慢往下看就知道了:)

 

这样我们已经实现了一个最基本的图片延迟加载,但是光这样还是不够的,在图片显示的过程中,我们经常还使用一个占位符,表示这张图片正在被加载,俗称loading。

插件本身也提供了这个配置:

顺便通过effect 参数定义一下图片的淡入效果

$(“img”).lazyload({ 

     placeholder : “img/grey.gif”, 

     effect : “fadeIn”

});

这样就比较完善了。

 

但是实际操作的时候发现还不是那么回事:当定义了图片的width和height属性时,占位符会被拉伸,一个小小的gif动态图标会被扯得又大又模糊,真是还不如没有:(

 

这时候,想到一种替代的办法,去掉代码中占位符的设置(就是“placeholder : “img/grey.gif”,”这一句),将占位符直接设为img背景:

<style>

Img{background:url(img/grey.gif) 50% 50% no-repeat;}

</style>

这样,占位符显示在图片中间且不被拉伸,效果看上去还不错:)

 

可是,还没有结束哦,这样真的实现了延迟加载么??网上的众多大侠们经过热烈的讨论,深入的研究,结论是这只是一种“伪延迟”技术,只不过是看上去像那么回事而已,而在大部分的浏览器中并没有根本上达到延迟加载的效果(这就是为什么我前面说是“显示”而不是“加载”的原因)。具体分析有兴趣的同学可以参考这篇jQuery插件Lazy Load Plugin的效果讨论 (http://www.lizn.net/discuss-effect-of-lazy-load-plugin-for-jquery/)

 

最新的解决办法来了:修改你html代码,使用占位图片作为img标签的src属性。真实的图片地址存储在data-original属性中,像这样:

<img src="img/grey.gif" data-original="img/example.jpg"  width="640" heigh="480">

还可以给需要延迟加载图片的指定特定类。通过这种方式,你可以轻松地控制延迟图片的绑定。

所有的JavaScript脚本放在页面的底部,使用方法不变。

 

看到这里,立马想到一个问题:在有大量图片的情况下,占位符会带来更多的资源请求,反而会增加服务器的负担:(

 

能不能让这些占位符只下载一次呢??OK,再加上前面的改造,把占位符写在<style></style>标签中,作为背景,占位符只用下载一次!

九月 30th, 2011

关于地图设计一些小心得

接到领导命令说必须完成一篇讲解地图设计的博文,笔者只好流着汗写下以下的文字,一些愚见,欢迎读者拍砖(中间为缓解精神鸭梨,用地图符号摆了
上面的小画,希望大家喜欢)。
开始了。
第一步,在设计开始之前必须确定地图性质。
这样设计就有了方向,有利理清思路将工作进行下去。地图性质具体说来,就是明确地图的作用和使用者。有了前边的思考,之后就请为工作为搜集、整
理资料吧,这个过程常被人轻视,可是笔者以为在这个阶段如果你愿意下点功夫,不但让你后边的工作顺畅,且这也是设计功力得到锻炼的好机会,一举
两得哦,请重视。(补充:地图设计之前请务必去实地考察,收集你珍贵的第一手资料)
第二,设计展开后,主要考虑地图易用性的根本要求。
说明白点就是让你的地图清晰好用。要达到要求,我想了下要写的太多了,所以暂时只说利用图和文字各自的优势,让信息得到最好的传达。
图的设计上,首先要有明确清晰的线条色块,即注意明度比、图底关系,次之请多用图示,因为图示更清晰,直观,避免了大段文字说明。文字设计上,
一注意使用辨识和打印都清晰的字体:二使用明显的字体,字号的对比:三让文字与图示结合,这样地图信息可以被人高效的理解,比如让文字像线条一
样有方向。做到以上要求,地图就从视觉上是直观简洁的,不需要大段阅读和逻辑分析,偶也,一张好用的地图就要完成了。(补充:加必要的地形提示
和附加信息时,地标点选择是非常重要的,一定要妇孺皆知!这几乎会决定了地图是否好用)
最次,美观。
地图的实用性应该是第一的。地图的美观常常会被人过分高估,市面上太多设计华丽但用起来麻烦的地图,尤其是一些楼盘广告上的小地图,设计的夸张
而矫饰。我坚信清晰简洁是地图设计的不二法门。(补充:地图设计可以加点趣味性哦,比如可爱的小标志符号,它让你的设计更有亲和力)
结尾了~
我想说地图虽是个小东西,但对它的设计是值得重视的,这是基本的设计态度,毕竟嘛,设计就是服务。谢谢。
(上文不过是些粗糙的想法看法,期待有人会与我们详细讨论。)
九月 30th, 2011

补记关山牧场悠闲2日(形散神更散)


(我:话说这次作业实在是拖得太久了……领导:下次再迟交作业罚抄一百遍!!!)
8月Funca第一次集体活动,出远门哎~
遥想13号那一天,天气没有很晴朗,早上9点半我们终于悠悠闲闲上路了。真是……太放松了……好久没有这样懒散的出行,好像去哪里、到不到得了已经
无所谓了,只走在路上就已经心满意足(至少我是这样的)。等我们一路放松到目的地的时候,已经是下午3点多了。下了车先分头去找住宿的地方,
周末的游客虽不能说是人山人海还是如织的,蒙古包大多人满为患,农家乐老板们也没表现出过多的接待热情。最终选定了一家靠近公路边的,主要是
是老板娘人不错,注意,我们挑的是老板娘,不是住宿,这很重要!
既然是牧场,新鲜的小羊羔肉当然要试试了,点一条羊腿先烤着,饭前的时间上山消耗一下。


踏上传说中的高山草甸,羊群就在身边,人与自然的距离瞬间缩短;呼吸清新的空气,我们立马被和谐了。天色稍暗,回到我们住的小院,羊腿毫无悬
念的鲜美……草原的夜晚虽然不像我想象中的寒冷,还是有些微凉,酒足饭饱钻进蒙古包,开始一天的最后一项娱乐活动——挖坑(绝对是噩梦啊……此处省
略若干字……)。
第二天早上6点多爬起来,草原上薄雾氤氲,牧民牵马走过,马脖子上的铃铛声远远的传来……景致如梦如幻,本人似醒非醒……回头看看蒙古包里呼呼大睡
的二位,没经住诱惑,又钻回去了……再醒来就9点多了,悠闲起床,悠闲吃饭,悠闲晃荡到马场。第一次骑马,有些紧张,但很快就适应了,主要是马也
很悠闲……中间有一阵子牧民让马小跑了起来,我才深刻体会到老大说的“胃疼不能骑马”——五脏六腑争先恐后地想从身体里蹦出来啊。快近正午,翻身下
马,我和某童鞋又去体验了一下滑索,把最后一点精力也消耗殆尽。


踏上归途。
九月 20th, 2011

在进行网页设计时和你的客户对话

 
在与客户对话时,我们常常提醒客户不要被那些三流的网页设计所迷惑,并同时强调影响网页设计的关键所在。
三流网页设计的特征:
  ■ 毫无必要的动画;
  ■ 缺乏对比、引起眼睛视觉疲劳的鲜亮图案;
  ■ 毫无必要的横幅广告;
  ■ 不相干的内容及链接;
  ■ 缺乏兼容性与可扩展性;
  ■ 在每个页面底部都有冗长的文字链接;
  ■ 页面之间不连贯的导读或平面元素。
 
使人印象深刻的网页设计的三大元素:
  ■ 用户友好界面:简而言之,用户能轻松地找到想要的信息。
  ■ 搜索引擎的最优化:虽然没有一家设计公司会保证网站在搜索引擎中排名靠前,但一定是可以优化的。
    包括:独特的网页标题、图像的ALT文件名、简明扼要的关键词、说明性的后缀名。
  ■ 有效地商业工具:网站宣传应与其他商业工具同步进行,以加强宣传力度。
 
 
九月 19th, 2011

开篇!

在短短过去的一年时间里,我们从未停止过对自己理想的遵循,从未停止过对新知识的学习和探索,从未停止过对任何小细节的精益求精。
今天,今天和任何忙碌到麻木的日子没有区别。今天欢迎大家来折腾的我们博客。
我们是IDT(Interaction Design Team),凡卡互动核心团队!
Location : 凡卡互动 Interaction Design Team

Funca. All rights reserved. CC BY-NC-SA 2.5 XHTML,XFN, (c) 2012 凡卡互动 Interaction Design Team