假设您有一个菜单,可以通过按钮切换打开和关闭。我的标准方法是为封闭的菜单编写CSS,并编写指定(或动画)打开菜单状态的Javascript。
最近我进入了一个客户端MVC框架Active.js。它提供了带有用于制作DOM片段的构建器的视图类,并且这些片段可以被赋予处理动画和DOM状态等事物的方法。
在CSS中描述初始状态,然后在JavaScript中描述备用状态时,感觉很不舒服。没有动画,只需在CSS中完成所有操作并使用javascript添加或删除DOM类是明智的。
我的另一个想法是用JSON(而不是CSS)描述DOM对象的所有状态(折叠,展开,红色,绿色),并给出我的ActionView对象方法,以便在这些状态之间进行动画制作。有人这样做吗?其他想法?
答案 0 :(得分:1)
就动画而言,在CSS中使用基本样式然后在javascript中无法在纯CSS中实现的动画或样式不会违反DRY因为你仍然没有任何重复做得对。如果你认为它是一种更“纯粹”的做事方式,你可以尝试在javascript或CSS中保留更多的样式,但这些只是你正在使用的语言,如果你认为它们都是同一个底层DOM的表达式适合在任何需要的地方使用更具表现力或兼容性的语言。
我通常会尽可能地使用CSS,然后开始使用jQuery来完成CSS无法处理或不是跨浏览器的事情,比如动画。