~~开发工具与关键技术: 前端
作者:梁锦豪
撰写时间:2019/4 / 25~
在做项目的时候我们免不了一些互斥的逻辑,比如:在做一些效果的时候,可能会针对同一节点的某一样式不断的进行切换,也就是addClass和removeClass两个方法之间的切换,来实现背景颜色的切换啊,隔行换色等等。
这种互斥的逻辑在复杂的时候相当浪费时间,使用jQuery中就提供了一个toggleClass的方法用于简化这种互斥的逻辑:
通过toggleClass这个方法,我们可以动态的去添加或者动态的去删除Class(类),一次执行时就相当于addClass,再一次执行时就相当于removeClass(一般用于点击事件,点击一次添加,点击俩次删除)
在使用.toggleClass的时候还要有所注意,它在匹配元素集合中的每一个元素上删除或者是添加样式时(类),取决于这个样式或类存不存在。如果存在就添加一个样式(类);如果不存在就添加一个样式(类)
jQuery手册:(.toggleClass( className ):在匹配的元素集合中的每个元素上用来切换的一个或多个(用空格隔开)样式类名
.toggleClass( className, switch ):一个布尔值,用于判断样式是否应该被添加或移除
.toggleClass( [switch ] ):一个用来判断样式类添加还是移除的 布尔值
.toggleClass( function(index, class, switch) [, switch ] ):用来返回在匹配的元素集合中的每
个元素上用来切换的样式类名的一个函数。接收元素的索引位置和元素旧的样式类作为参数)
注意事项:
toggleClass是一个互斥的逻辑,也就是通过判断对应的元素上是否存在指定的Class名,如果有就删除,如果没有就增加
toggleClass会保留原有的Class名后新增,通过空格隔开
ps:注意事项部分来自网络