原文地址:http://weblogs.mozillazine.org/roadmap/archives/2008/04/popularity.html

看来(根据一位专家的说法是这样,不过还是感觉有点言不由衷),JavaScript最后真的流行起来了

[此处是youtub.com中一段视频,可惜被"墙"了]

对我这个从小就呆头呆脑的人来说,这段视频像是咒语又像是玩笑。(这要看你是否跟我站在了相同的立场上:绿壳鸡蛋不就流行过吗?)

布兰登·艾奇深得他那尖脑壳老板的信任,Navigator浏览器应该有自己的脚本语言,只有开发一门新语言才可行,必须在短时间内设计和实现这门语言,现有的任何语言都不能充当该角色。

我搞不清楚为什么道格(Doug)要编故事。他并不在网景公司。他亲耳听到过我回忆JavaScript诞生的经过,我在Ajax大会的发言中也讲过了。难道是想混淆视听,想在Web开发人员中掀起一股提前讨论MicroHoo C#语言的风潮?

谁知道呢,要计较这些就没完了。不过,鉴于本周是我参与创立的mozilla.org 10周年,我打算讲一点历史。

正如我多次重申过的,而且Netscape的其他人也可以证明,我是因为Netscape要在浏览器中“实现Scheme”才被招聘进公司的。当时,至少负责客户端技术的汤姆·帕坎(Tom Paguin)迈克尔·托伊(Michael Toy)瑞克·谢尔(Rick Schell),以及一个叫马克·安德森(Marc Andreessen)的家伙认为Netscape应该在HTML中嵌入一种语言,一种源程序式的编程语言。而我这个新人要去说服“尖脑壳”的老板几乎是不可能的——实际上更多的则是他们在向我解释问题。

到底是不是要基于Scheme并没有定论,但Scheme确实是吸引我加入Netscape的一个原因。在此之前,我在SGI公司期间,尼克·汤普森(Nick Thompson)引导我学习了SICP(Structure and Interpretation of Computer Programs《计算机程序的构造和解释》)。

当时真正需要的是一种有说服力的概念验证,也就是一个演示程序。在我交付演示程序之后,这个程序在极短的时间内就变为了既成事实。

没错,在加入Netscape后不久,我被调出服务器团队——由于人员不足,我在这个团队干了一段时间,在那里与麦库尔·吐温斯(McCool Twins)阿瑞·卢奥托嫩(Ari Luotonen)有了一段时间不长但很快乐的合作;1995年下半年,阿瑞和我创建了PAC(Proxy Auto Config,代理自动配置)——的时候,Oak语言已经改名为Java,而Netscape正与Sun协商将该语言包含在Navigator中。

Netscape公司内部争论的最大焦点变成了:“为什么要包含两种语言?为什么不只用Java?”得到的回答是:必须有两种语言分别面向编程圣殿中的两类最不可能走到一块的开发人员:组件开发人员——这类人使用C++或(我们希望的)Java和脚本开发人员(爱好者或专业人员)——这类人编写直接嵌入在HTML中的代码。

至于是否使用已有的语言,而不发明一门新语言,也不是我说了算的。上峰的“军令”就是这门语言必须“看起来像Java”。这样,不仅排除了Perl、Python和Tcl,也排除了Scheme。后来,1996年,约翰·奥斯特豪特(John Ousterhout)前来推广TK时,还曾因Tcl错过机会而惋惜过。

谈不上自鸣得意,但我确实为自己吸收了Scheme式的一类函数和Self式的原型(尽管不那么主流)而感到高兴。至于Java的影响,特别是Date的Y2K bug和原始类型与对象类型(如string与String)差异的影响则是非常不幸的。

时光倒转回1995年春天:我记得在此期间见到了比尔·乔伊(Bill Joy),我和他讨论了垃圾收集的细节(card marking for efficient write barriers)。比尔一上来就完全理解了我们所说的一门易用的“脚本语言”与Java的关系,他还拿微软平台的VB与C++之间的关系作类比。据我所知,比尔是我们在Sun公司的支持者。

基普·希克曼(Kipp Hickman)和我在1995年4到5月间研究了Java,基普也开始写他自己的JVM。他和我编写了NSPR的第一个版本,作为他的JVM之下的可移植层。而我在5月中上旬创建Mocha的原型时,也将该版本用作了相同的目的。

比尔说服我们放弃基普的JVM,因为它会导致与Sun的JVM中的bug无法兼容(在那个时候可谓智慧的预言)。而此时此刻,Mocha已经通过在Netscapte Navigator 2.0(的初期测试版)中的快速原型和嵌入证明它自己。

之后的历史匪夷所思,让人难以接受。除此之外,应该说都是对历史的歪曲和调侃。JS在客户端打败了Java,只有Flash能与其竞争,而Flash又支持JS的一个衍生品——ActionScript

现在再回到流行的问题上。其实谈不谈这个问题都无所谓。然而,那些散布于互联网的流行的Ajax库,却经常以被掰碎了、压扁了,然后再以链接形式挑出来的纯文本的形式存在。难道不可以共享吗?

有一种想法——很多人都建议过,最近连道格也打起了这个主意受到了不少人的质疑,最近一次发出质疑声音的人是道格——在可能将会非常长寿的script标签属性中嵌入“神秘的散列码”(crypto-hashes)。这是个好主意吗?

恐怕不是。一方面因为“神秘的散列码”理论上的完备性问题,另一方面则因为其广为人知的药饵攻击(poisoning attacks)。

还有一个主意倒是不错,这个主意我是先从罗布·塞尔(Rob Sayre)那里听说的:通过HTML5中script标签的share属性支持一种可选的“公认的URL”:

<script src="http://my.edge.cached.startup.com/dojo-1.0.0.js"
shared="http://o.aolcdn.com/dojo/1.0.0/dojo/dojo.xd.js">
</script>

如果浏览器首先下载了共享的URL,而且根据HTTP的缓存规则它依然有效,那么就可以使用缓存(及预编译)的脚本,而不必从src属性指定的URL中下载。

这就避免了散列药饵的问题。这个方案只要求内容作者保证src属性指向的文件与share属性指定的这个库的公认(或流行)的版本相同即可。不过当然,我们必须信得过相应的DNS。(Ulp.)

这个方案可以避免在script标签属性值中嵌入不可预测神秘的散列码。

欢迎大家就此问题给我留言。

好了,这次真的回到JavaScript流行的问题上了。我们都知道有些Ajax库的确流行。那JavaScript流行吗?很难说。有些Ajax开发人员表示(也证明)了对它的喜爱。但也有很多人骂它,也包括我在内也骂我。我依然认为JavaScript是C和Self草草结合的结果(或一个私生子)。我又想起了约翰逊博士(http://en.wikipedia.org/wiki/Dr._Samuel_Johnson)的那句话:“好的不是原创的,而原创的都不好。”

不过,这没什么。Web总要发展,否则只有死路一条。JS也一样,要不就不会有ES4了。说到ES4,很快将有下文。

Firefox 3好像也会流行的, 它的空间与时间性能测试预示了这一点。相关内容呢,我以后还会陆续地谈到。

觉道庄

2009年11月27日 原创

觉道庄村北门

青云观位于河北青县城东觉道庄村,距天津市七十五公里,观内有15座殿堂,供奉十尊神像,总占地面积一方平万米,是华北平原上历史最悠久的道观。相传春秋战国时期,老子李耳弃周守藏室史官而走,云游四方至此地隐居,德高望重的老子传经布道,救苦救难,民众相聚而居,逐渐形成村落,起名为道德庄。沧桑变迁,元初.老子分神化气,重降此庄,名为张核,道号觉道,村更名为觉道庄,觉道大师积功德,四处化缘,在原老者君讲经道场营造起一座颇有影响的道观青云观,从此,觉道庄就成了道教圣地,村周围先后建起了碧霞庵、五龙圣母庙等道观,历史上曾在此涌现出颇有道诣的道师和法师。

昨天,儿子下载了一款名叫“主题医院”的游戏,在安装了该游戏之后,电脑中的Chrome和IE就被1188.com劫持了:
1、桌面上多出来两个IE快捷方式图标,无法删除;
2、快速启动区IE和Chrome快捷方式的目标被篡改,追加了http://www.1188.com/?8后缀(见下图),无法修改;
3、注册表中多了一些带有1188.com的键值。
经过搜索并试验广大受害网友克敌方法,我总结出了比较简单易行的“反劫持”作战方案:
1、“开始>运行”,输入regedit,打开注册表编辑器,Ctrl+F,搜索“1188.com”,对搜索到的键一律格杀勿论——全都删掉;
2、由于无法修改快速启动区被篡改的IE和Chrome快捷方式,因此需要把它们先拖到桌面上,然后删除;
3、桌面上多出来的IE快捷方式也不能删除,但可以通过Windows自带的“桌面清理”工具将它们删掉,具体步骤如下:
在桌面上右键单击,然后“属性>桌面>自定义桌面>现在清理桌面”,在打开的“清理桌面向导”中点“下一步”,然后在“快捷方式”区域选中桌面上多出来的那两个IE快捷方式,然后“下一步>完成”(见下图)。
4、由于删除了快速启动区的浏览器快捷方式,所以需要自己找到浏览器的安装目录,重新创建——这个不用说都会吧。
事实上,如果这个1188.com只是劫持浏览器,建俩快捷方式,那除了恶心恶心人,让自己臭名远扬以外,也没有什么大不了的,顶多用上述方法“反劫持”罢了。但令人担心的是,如果除此之外,1188.com还会做一些不为人知的事,比如给电脑植入木马病毒,盗窃账号密码等信息,那么用户就会面临着巨大的危险——在网上也看到有人说这个网站不能访问,更能不从中下载任何东西。

昨天,儿子下载了一款名叫“主题医院”的游戏,在安装了该游戏之后,电脑中的Chrome和IE就被1188.com劫持了:

1、桌面上多出来两个IE快捷方式图标,无法删除;

2、快速启动区IE和Chrome快捷方式的目标被篡改,追加了http://www.1188.com/?8后缀(见下图),无法修改;

3、注册表中多了一些带有1188.com的键值。

经过搜索并试验广大受害网友克敌方法,我总结出了比较简单易行的“反劫持”作战方案:

1、“开始>运行”,输入regedit,打开注册表编辑器,Ctrl+F,搜索“1188.com”,对搜索到的键一律格杀勿论——全都删掉;

2、由于无法修改快速启动区被篡改的IE和Chrome快捷方式,因此需要把它们先拖到桌面上,然后删除;

3、桌面上多出来的IE快捷方式也不能删除,但可以通过Windows自带的“桌面清理”工具将它们删掉,具体步骤如下:

在桌面上右键单击,然后“属性>桌面>自定义桌面>现在清理桌面”,在打开的“清理桌面向导”中点“下一步”,然后在“快捷方式”区域选中桌面上多出来的那两个IE快捷方式,然后“下一步>完成”(见下图)。

4、由于删除了快速启动区的浏览器快捷方式,所以需要自己找到浏览器的安装目录,重新创建——这个不用说都会吧。

事实上,如果这个1188.com只是劫持浏览器,建俩快捷方式,那除了恶心恶心人,让自己臭名远扬以外,也没有什么大不了的,顶多用上述方法“反劫持”罢了。但令人担心的是,如果除此之外,1188.com还会做一些不为人知的事,比如给电脑植入木马病毒,盗窃账号密码等信息,那么用户就会面临着巨大的危险——在网上也看到有人说这个网站不能访问,更能不从中下载任何东西。

提示:由于目前正在抓紧时间翻译Professional JavaScript, 2nd,预计春节之前没有时间翻译这份论文了。对自己,也对大家,更对“CSS之父”说声抱歉吧!

中文链接:www.cn-cuckoo.com/css/thesis-of-Hakon-Wium-Lie/

原文链接:people.opera.com/howcome/2006/phd/

查看全文 »

来自“首届中国动漫艺术大展”(中国美术馆2009.10.26~11.18)

中国原创漫画产业化创作流程

总体流程
剧本创作
美术设计
模型塑造
镜头设计
动画创作
特效渲染
后期输出

总体流程

  1. 剧本创作
  2. 美术设计进行造型设计和制作。通过场景、道具、角色等的设计,来创建富有感染力的画面造型和动画形象,是动画创意的重要组成部分。
  3. 模型塑造:(1)三维建模——使用特定软件制作数学的、线框表示的三维物体的过程。根据美术设计原画手工建立几何体数据模型,其过程类似于造型艺术中的雕塑;(2)场景建模——是指对环境、道具等模型的塑造,当前潮流是追求场景的高度仿真;(3)骨骼蒙皮——在三维动画中添加骨骼和蒙皮,使模型可以按照设计要求进行运动。运用运动生物力学对人或动物模型的骨骼进行控制,可以为人或动物模型产生各种符合物理特性、真实可信的动作效果;(4)肌肉系统——应用生物运动仿生力学,在三维角色模型上建造运行协调机构,实现三维模型肌肉质感的协调联动。
  4. 镜头设计是将文学剧本转化为二维或三维图像表现的分镜头脚本,用以说明叙事顺序和镜头运用。
  5. 动画创作:(1)表情口形——通过对角色面部表情和口形动画的调制,刻画角色的内心感情以及与对白相吻合的口形变化。最新的表情捕捉技术和口形自动生成系统,进一步提高了表情、口形动画调制的效果和准确性;(2)动作表演——动作表演是对于角色动作的关键帧进行调制,使其产生连续性的动作,角色的动作表演既要协调流畅,又要符合动画运动规律。
  6. 特效渲染:(1)刚体和柔体——在三维动画中对刚体和柔体进行物理特性的精确模拟,达成重力、碰撞、弹力的效果,模拟出衣料、毛发等的逼真质感;(2)粒子与流体——在三维动画中对流体和粒子的运动规律和状态进行物理模拟,表现出逼真的水、火、雨雪、烟雾等自然效果;(3)群体和变形——在三维动画中模拟出大规模角色群体运行和物体形变效果的过程;(4)灯光和材质——在三维动画中通过对灯光和物体材质的调节,营造不同物体在各种环境氛围下的特殊效果,以达到逼真的视觉效果。
  7. 后期输出包括合成、校色、音乐、音效、配音、剪辑及最终的成片输出。至此,一部完整的三维动画作品就诞生了。
现代CG动画生产流程

现代CG动画生产流程

美术设计

美术设计——进行造型设计和制作。通过场景、道具、角色等的设计,来创建富有感染力的画面造型和动画形象,是动画创意的重要组成部分。

美术设计

美术设计——进行造型设计设计和制作。通过场景、道具、角色等的设计,来创建富有感染力的画面造型和动画形象,是动画创意的重要组成部分。

查看全文 »

来自“首届中国动漫艺术大展”(中国美术馆2009.10.26~11.18)

现代CG动画生产流程

第一步 漫画编创

第一步 漫画编创

第二步 漫画编绘

第二步 漫画编绘

第三步 流程监管

第三步 流程监管

查看全文 »

想知道怎样在今天的Web上创造伟大的用户体验吗?UI专家Bill Scott和Theresa Neil通过本书向读者展示了超过75种基于富交互构建Web界面的模式。作者以自己在Sabre、Yahoo!和Netflix多年的工作经验为依托,把精挑细选的各种最佳实践归结为6个重要原理,深入浅出地向读者阐释了如何有效利用当前的Web技术。本书每一部分都围绕一个设计原理展开讨论,通过学习本书,读者可以掌握以下原理。

直截了当:通过页内编辑、拖放和直接选择等模式实现基于上下文的内容编辑。
简化交互:借助“轻量级”上下文工具,有效减少用户与站点的不必要交互。
足不出户:采用覆盖层、嵌入层、动态内容和页内流程模式保证访问者不离开当前页面。
提供邀请:向用户发出进入下一级交互的邀请,帮助用户发现站点的功能。
巧用变换:学习何时、何地、以何种方式使用动画、电影转场效果及其他变换手段。
即时反应:以实时搜索、实时建议、实时预览及更多模式,为用户提供丰富的交互式体验。

本书以当前最流行的Web站点为例,介绍了大量行之有效的Web界面设计模式。如果你想构建或重构站点,并希望站点以丰富的交互为特色,那本书就是你出奇制胜的宝典。

“本书提供了富因特网应用程序(RIA)设计人员和开发人员(或开发团队)作出明智选择时必须知道的一切。对于当今主流的Web设计师而言,(本书)应该人手一册。”

——Erin Malone,Tangible UX负责人

当当网读者评论

读者:Drek
来自:广州市
标题:很多新的,流行的理念
评分:4星
发表于 2009-10-11 23:53
我是个程序员,可惜在的公司太小,美工,前台,后台,设计,样式都要一手包办。其实挺郁闷的,为了在点脱离这情况,学多点广博的知识,早日飞翔,成就梦想。
而涉及到的知识都要去看,去学。
界面也要自己去处理。所以看到了本书,站在一个程序员的角度考虑,里面的设计思想其实很潮的。没有你想不到,只有你做不到的。书是针对界面设计,没有任何提及程序,代码如何实现的,也没有提及美工方面如何处理的。
可以说同一个设计相思,可以用不同东西去实现,只要你会的。
所以感觉如果作为程序员,又要考虑界面设计的朋友,本书值得一看。如果就美工和单纯是界面设计的,也给予了你不同的设计思想。
当然,世事没有完美的,程序,界面或者流行一时,2,3年间也许变化很大,为了适应自己的工作,或者适应这个时代,可以得到的资源都不要放过哦 查看全文 »

MySQL数据类型

2009年11月7日 Web开发, 原创

MySQL

MySQL

MySQL跟其他主流数据库一样,能够存储任何类型的数据,比如字符、数值和日期。而且,大多数应用程序中只会用到这3种数据。

1. 字符数据

1.1 字符数据分为字符型和文本型。字符型又分为两种,一是固定长度字符型(char),存储空间为255字节,不足空间以空格填充;另一种是可变长度字符型(varchar),存储空间为65 535字节,不足空间不用空格填充。在为表列定义字符类型时,必须指定最大字符数(英文每个字母占一个字节,汉字每个字占两个字节),不能超过相应类型的字节上限,例如:

char(40) /* 固定长度字符列,最多可以保存40个英文字母或20个汉字 */
char(280) /* 无效,超过了255字节 */
varchar(280) /* 可变长度字符列,最多可以保存280个英文字母或140个汉字 */

1.2 另外,在为表列指定数据类型的同时,可以同时指定列的字符集,例如:

varchar(20) character set utf8 /* UTF-8字符集,可以用于保存汉字等多字节字符 */

甚至,在创建数据库时也可以直接指定默认的字符集,例如:

create database myblog character set utf8;

1.3 对于要求存储空间大于64KB(64×1024=65 535字节)的列,就需要声明为文本型了。文本型又分为四种:短文本型(tinytext/255)、文本型(text/65 535)、中长文本型(mediumtext/16 777 215)和长文本型(longtext/4 294 967 295)。

由于MySQL提供了65 535字节长的可变长度字符型(varchar),因此短文本型(tinytext)和文本型(text)并不常用。

关于文本型数据,有以下说明:
(1)如果实际文本超出相应类型指定的最大长度,则多余文本将被截掉;
(2)如果实际文本不足相应类型指定的最大长度,则不会删除后面空格;

2. 数值数据

数值数据分为整数和浮点数(带小数点的数,有符号),而整数又分有符号数和无符号数(用于区分正负数)。MySQL中有5种整数数值类型:

较小整数(tinyint/-128~127或0~255);
小整数(smallint/-32 768~32 767或0~65 535);
中长整数(mediumint/-8 388 608~8 388 607或0~16 777 215);
整数(int/-2 147 483 648~2 147 483 647或0~4 294 967 295);
大整数(bigint/-9 223 372 036 854 775 808~9 223 372 036 854 775 807或0~18 446 744 073 709 551 615)。

声明整数类型列时,必须指定该列是有符号(signed)还是无符号(unsigned),例如:

smallint unsigned  /* 表示只保存正整数 */

有两种浮点数值类型:单精度浮点数,float(p,s)和双精度浮点数,double(p,s)。其中,p表示精度(小数点左右两侧的数字位数和),s表示至少保留几位小数。

3.时间数据

时间数据可以是日期、时间、日期加时间。MySQL有5种时间数据类型:

日期型:date YYYY-MM-DD 1000-01-01~9999-12-31
日期时间型:datetime YYYY-MM-DD HH:MI:SS 1000-01-01 00:00:00~9999-12-31 23:59:59
时间戳型:timestamp YYYY-MM-DD HH:MI:SS 1970-01-01 00:00:00 to 2037-12-31 23:59:59
年型:year YYYY 1901 to 2155
时间型:time HHH:MI:SS -838:59:59 to 838:59:59

其中,HHH:MI:SS中的HHH表示已经过去的小时数,而其他日期时间组件YYYY(年)、MM(月)、DD(日)的含义是可以一目了然的。

如果只想在某列中保存日期(年月日),则date即可满足需要;如果想保存日期和时间(年月日时分秒),则要使用datetimetimestampdatatime的区别除表示的时间范围不同之外,是它的值可以在记录增加或被更新时自动生成。

今天(最早在Solidot.com看到,据这里说是今天),Google开发Gmail、Google Docs、Google Maps使用的前端开发工具开源了!

Google Code没有提供Clouse Library(JavaScript库)的打包下载,因此需要使用subversion客户端工具取出(check out)所有文件。我使用的是slik subversion,Google还给用户提供了一大堆subversion客户端工具。取出速度快得有点令人惊讶,几分钟就下载了126M。

svn checkout http://closure-library.googlecode.com/svn/trunk/ closure-library-read-only

Web applications have evolved from simple HTML pages into rich, interactive applications that provide a great user experience. Today’s web apps pose a challenge for developers, however: how do you create and maintain efficient JavaScript code that downloads quickly and works across different browsers?

The Closure tools help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include:

一个JavaScript优化工具

The Closure Compiler compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what’s left so that it downloads and runs quickly. It also also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain. You can use the compiler with Closure Inspector, a Firebug extension that makes debugging the obfuscated code almost as easy as debugging the human-readable source.

一个JavaScript大型工具库

The Closure Library is a broad, well-tested, modular, and cross-browser JavaScript library. You can pull just what you need from a large set of reusable UI widgets and controls, and from lower-level utilities for DOM manipulation, server communication, animation, data structures, unit testing, rich-text editing, and more.

The Closure Library is server-agnostic, and is intended for use with the Closure Compiler.

一个简易的模板系统:适用于JavaScript和Java

Closure Templates simplify the task of dynamically generating HTML. They have a simple syntax that is natural for programmers. In contrast to traditional templating systems, in which you use one big template per page, you can think of Closure Templates as small components that you compose to form your user interface.

Closure Templates are implemented for both JavaScript and Java, so that you can use the same templates on both the server and client side. For the client side, Closure Templates are precompiled into efficient JavaScript.

本书作为《jQuery基础教程》的升级版,涵盖了 jQuery 1.3的全部新特性,特别是新增了介绍 jQuery UI(jQuery官方用户界面插件库)的内容。本书前 6章以通俗易懂的方式介绍了 jQuery的基本概念,主要包括 jQuery的选择符、事件、效果、DOM操作、AJAX支持等。随后 3章从理论到实践,通过表格操作、构建功能型表单、实现滑移和翻转效果等实例,深入浅出地讲解了如何创造性地运用 jQuery提供的丰富而强大的 API。本书最后两章专门介绍了如何使用和编写 jQuery插件。值得一提的是,本版新增的附录 D分门别类地列出了所有 jQuery API,为高效使用 jQuery提供了方便。

本书内容
第1章将带领读者对jQuery有个大概的了解。这一章先简单介绍jQuery及其用途,然后的内容主要涉及如何下载和设置jQuery库,同时也会指导你使用jQuery编写第一个脚本。
第2章讲述如何通过jQuery中的选择符表达式及DOM遍历方法,在页面中的任何地方找到想要的元素。这一章将展示如何使用各种选择符表达式为页面中的不同元素添加样式,其中一些是通过纯CSS方式做不到的。
第3章介绍如何通过jQuery的事件处理机制,在浏览器发生事件时触发行为。同时,还会介绍如何以不唐突的方式添加事件(甚至在页面加载完成之前)。此外,这一章还将深入更高级的主题,例如事件冒泡、委托和命名空间。
第4章介绍通过jQuery实现动画的技术,从中我们能够体会到隐藏、显示和移动页面元素时那种轻松自如的感觉。
第5章讲述如何通过命令改变页面。本章讲述的是动态修改HTML文档结构及其内容的技术。
第6章讨论通过jQuery轻松地访问服务器端功能的各种方法,而且不用像过去那样刷新页面。
接下来3章(第7、8、9章)主要以实例为主,即在前几章学习的基础上,创建常见问题的稳健jQuery解决方案。
第7章“表格操作”,讲述排序、筛选和为信息添加样式并创建优美实用的数据布局。
第8章“创建功能性表单”以客户端数据验证为主题。届时,将设计一个具有适应能力的表单布局,还会实现基于客户端与服务器通信的交互式表单功能,例如自动完成。
第9章“滑移和翻转”介绍如何在显示页面元素时增强它们的美感和实用性。其中,动态显示和隐藏信息的方式既可以是自动的,也可以是用户控制的。
第10和11章的主题是jQuery库的第三方扩展,将向读者展示扩展这个库的各种方式。
第10章“使用插件”介绍Form插件和官方用户界面插件集合jQuery UI。同时,还将介绍到哪里寻找其他流行的jQuery插件并了解它们的功能。
第11章“开发插件”将讨论如何利用jQuery强大的扩展能力,从头开发自己的插件。不仅包括创建自己的实用函数,还有添加jQuery对象方法、添加自定义选择符表达式,等等。
附录A“在线资源”提供了很多与jQuery、JavaScript以及通常的Web开发有关的内容丰富的网站信息。
附录B“开发工具”推荐了一些有用的第三方程序和实用工具,用于在个人的开发环境中编辑和调试jQuery代码。
附录C“JavaScript闭包”将帮助读者理解闭包——什么是闭包,怎么利用闭包。
附录D“快速参考”提供了jQuery的简明参考,包括所有方法和选择符表达式。在实际开发中,在明确自己目标的情况下,通过这个简单明了的附录,能够方便快捷地找到正确的方法和选择符。

本书内容

第1章将带领读者对jQuery有个大概的了解。这一章先简单介绍jQuery及其用途,然后的内容主要涉及如何下载和设置jQuery库,同时也会指导你使用jQuery编写第一个脚本。

第2章讲述如何通过jQuery中的选择符表达式及DOM遍历方法,在页面中的任何地方找到想要的元素。这一章将展示如何使用各种选择符表达式为页面中的不同元素添加样式,其中一些是通过纯CSS方式做不到的。 查看全文 »