javascript - Vanilla JavaScript : Is there a way to toggle multiple CSS-classes in one statement?

标签 javascript css

我使用这些 JavaScript 代码来更改脚本中的类:

var toggleDirection = function() {
  group.classList.toggle('left-to-right');
  group.classList.toggle('right-to-left');
}

在我的示例中,只有两个类需要更改,但也可以是多个类...

因此:有谁知道编写示例的方法不那么冗余?

最佳答案

不,不可能直接使用 Element.classList API。查看 API,您可以阅读:

toggle ( String [, force] ) When only one argument is present: Toggle class value; i.e., if class exists then remove it, if not, then add it. When a second argument is present: If the second argument is true, add specified class value, and if it is false, remove it.

Reference here .

您可以编写自己的“实用程序”函数(在 vanilla JS 中)来执行您想要的操作,下面是一个非常简单的演示示例,该示例在 classList API 之上工作:

var superToggle = function(element, class0, class1) {
  element.classList.toggle(class0);
  element.classList.toggle(class1);
}

你这样调用它:

superToggle(group,'left-to-right', 'right-to-left');

关于javascript - Vanilla JavaScript : Is there a way to toggle multiple CSS-classes in one statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36544762/

相关文章:

javascript - 如何将 Plupload 与 Node.js 一起使用并显示上传百分比?

css - DIV 背景未正确拉伸(stretch)

css - 如何使侧边栏菜单固定,但 float 在右侧

css - 使用径向渐变的动态印章效果

JavaFX:是否可以为整个 TreeView 设置背景颜色?

html - CSS 内容 div 扩展到页面底部

javascript赋值运算符数组

javascript - 在 HTML5 Canvas 中创建 MP3 波形的缩略图

javascript - 如何获取元素相对于当前屏幕位置的偏移量?

javascript - 自动悬停效果