[字节青训营]前端方向Day4-前端入门 - 基础语言篇 - 如何写好JavaScript-各司其责 | 豆包MarsCode AI刷题

62 阅读1分钟

#青训营笔记创作活动

各司其责

  • 让HTML、CSS和JavaScript职能分离

eg: 写一段JS,控制一个网页,让它支持浅色和深色两种浏览模式。怎么实现?

image.png

  • 版本一

image.png

获得button,在button上注册了click事件,在click事件中进行判断。

用JavaScript来控制CSS,让JavaScript做了CSS的事

  • 版本二

image.png

定义class,操作html元素的状态

希望看到的代码是上图这种的。各司其责。

  • 版本三

根据各司其责,CSS是用来控制样式的,如果实现夜间模式,相当于样式的改变。

用纯CSS是最好的。

image.png

用到了CSS的高级功能(伪类选择器)。[用来匹配元素状态的]

可以给一个checkbox设置一个checked状态。

在body的下一行,写了一个type = "checkbox"的input。

在右边的css里,根据兄弟节点选择器,选择最近的class为content的标签。

给label设置一个for元素,这个for元素会for一个checkbox(上面input)的id。

所以点击label相当于改变checkbox的状态。

  • 总结

    • HTML/CSS/JS 各司其责
    • 应当避免不必要的由JS直接操作样式
    • 可以用class来表示状态
    • 纯展示类交互寻求零JS方案