当前位置:嗨网首页>书籍在线阅读

11-添加JavaScript

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.2.5 添加JavaScript

我们想使用JavaScript 的最佳写法。有个工具会有所帮忙,它就是由Douglas Crockford编写的JSLint。JSLint是一种JavaScript验证器,能确保代码不会破坏很多明显的JavaScript最佳写法。我们也想使用jQuery,它是一种操作DOM的工具,由John Resig编写。jQuery提供了能很容易实现滑块动画的跨浏览器工具。

在编写JavaScript之前,我们先把想要做的事情列个提纲。第一个脚本标签加载jQuery库。第二个脚本标签会包含我们自己的JavaScript,分成以下三个部分。

(1)声明JSLint设置的头部。

(2)spa函数,创建和管理聊天滑块。

(3)一行在浏览器DOM可用时就调用spa函数的代码。

我们仔细地看一下需要spa函数做什么。经验告诉我们,要用一个区块来声明模块变量,包括配置常量。需要一个函数来切换聊天滑块,需要一个接收用户点击事件的函数,它会调用切换函数。最后,需要一个函数来初始化应用的状态。我们把提纲再细化一下,见代码清单1-3。

代码清单1-3 JavaScript 开发,第一轮——spa.html

figure_0034_0009.jpg 这是一个好的开端!我们保持注释的原貌,来添加代码。为清楚起见,注释以粗体显示,见代码清单1-4。

代码清单1-4 JavaScript 开发,第二轮——spa.html

figure_0034_0010.jpg figure_0035_0011.jpg 现在来进行spa.html的最后一轮开发,如代码清单1-5所示。先加载jQuery库,然后引入自己的JavaScript,其中包括JSLint设置、spa模块和一行在DOM可用时调用spa模块的代码。spa模块的功能现在是完备的。如果你现在没明白所有的事情,请不用担心,这儿有很多需要吸收的知识,在之后的章节我们会更加详细地讲解所有的内容。这仅仅是一个示例来告诉你能做些什么。

代码清单1-5 JavaScript 开发,第三轮——spa.html

figure_0035_0012.jpg figure_0036_0013.jpg figure_0037_0014.jpg 不要过于担心JSLint验证,因为在之后的章节会详细地讲解它的用法。但现在需要讲解一些值得注意的概念。首先,脚本顶部的注释设置了验证偏好。其次,这段脚本和设置会通过验证,没有任何错误和警告。最后,JSLint要求函数在使用前就要声明,因此脚本是“从下往上”读取函数的,级别最高的函数在最后面。

我们使用jQuery,是因为它为基础的JavaScript功能提供了最优的、跨浏览器的工具:DOM的选取、遍历和操作,AJAX方法以及事件。比如,使用jQuery的$(selector).animate(...)方法,就能很容易地编写相当复杂的动画效果:在指定的时间周期内,使聊天滑块从收起到展开做高度变化的动画(反之亦然)。滑块的运动,先缓慢地启动,加速,然后再慢慢地停下来。这种运动叫做缓动,需要帧频计算、三角函数和跨主流浏览器的奇特实现知识。如果我们自己来编写,则需要几十行额外代码。

jQuery(document).ready(function)也帮我们节省了很多工作。只有在DOM可用之后才会运行这个函数。传统为此的做法是使用window.onload事件。由于各种各样的原因,window.onload对于要求很高的单页应用来说并不是一种高效的解决方案,尽管在这里区别不是很大。但是编写在所有的浏览器中都能使用的正确代码,是一件痛苦乏味和繁琐的事情 [8]

如前面的示例所示,使用 jQuery所带来的好处,大大地超过了它的成本。在上面的示例中,它缩短了开发时间,减小了脚本长度,并提供了稳健的跨浏览器功能。由于jQuery库压缩后的体积很小,并且用户在他们的设备上很可能已经有它的缓存,因此它的使用成本很低甚至可以忽略不计。图1-6演示了动画完成后的聊天滑块。

figure_0037_0015.jpg 现在已经完成了聊天滑块的初步实现,我们使用Chrome开发者工具,来看一下应用实际上是如何工作的。