Page 25 - JavaScript修炼之道
P. 25
12 第二部分 DOM、事件及定时器
任务 5 动态修饰内容
获得某个DOM元素的CSS属性的当前值(无论是指定的还是计算得出的),并修改这些值以
改变页面的外观,是创建Web UI所不可或缺的操作。不过,浏览器和W3C的标准在这方面上还
是一片空白,因此这个重任就落到了库和框架的肩上。在右页你会发现,现在的库均为这些操作
提供了丰富的API,而且它们彼此十分相似。
如何进行动态修饰呢?答案就是使用class属性。
为了开发属于你自己的视觉效果,你当然可以自己动手修改样式,但这个工作最好还是留给
那些库的作者和JavaScript大师。我相信,作为一个前端开发者,你能够把特定的样式和JavaScript
代码清楚地分离开来,然后通过切换CSS的class名称和使用你所编写的特效,来获得你想要的
效果。
事实上,所有的库都提供了一系列统一的API来增加、删除和检查某个元素上的CSS的class
名是否存在。MooTools、jQuery、YUI、Dojo和Ext都可以通过addClass()、hasClass()、
removeClass()及toggleClass()来完成这些操作。Prototype则只是在这些方法的名称后面加了
一个Name后缀(比如hasClassName())。
不要忘了使用快捷操作!
所有的库都为常用的操作提供了一系列快捷的读/写操作,比如操作可见性(隐藏/显示/切
换)、透明度(依照CSS标准,即使在IE上也是这样)及维度等。阅读文档时,你就会发现:一
般而言,方法的名称就能说明它的含义。