如何在 JavaScript 三元运算符中打乱多个值
How to shuffle multiple values in JavaScript ternary operator
我已经成功地实现了多条件三元运算符来在水平和垂直之间洗牌类,如下所示:
jquery:
<script type="text/javascript">
$(document).ready(function() {
$("#my_div")
.removeClass("horizontal vertical")
.addClass( ['red', 'blue', 'green', 'gray'].indexOf(my_color) != -1 ? 'horizontal' : 'vertical');
});
</script>
my_color当时可能有一个值,从红色,蓝色,绿色,灰色白色和黑色。如上所述,类horizontal
为前 4 个my_color
值设置,为其他值设置vertical
。现在我想添加和删除三类elliptical
,其中水平,垂直和椭圆设置为仅my_color的2个值。如何修改上述脚本或使用 switch 语句实现相同的脚本?
您可以使用带有开关的 toggleClass 来轻松添加/删除类:
$(document).ready(function() {
var colors = ['red', 'blue', 'green', 'gray'];
$("#my_div")
.toggleClass('horizontal', colors.indexOf(my_color) != -1)
.toggleClass('vertical', colors.indexOf(my_color) == -1)
.toggleClass('elliptical', [colors[0], colors[1]].indexOf(my_color) != -1);
});
如果颜色与数组匹配,则添加第一个类,如果不匹配,则删除第二个类,如果颜色与第一个或第二个数组值匹配,则添加第三个类。 array.indexOf 并非在所有浏览器中都受支持,您可能应该使用填充码。
相关文章:
- JavaScript 中三元条件和逻辑和运算符的运算符优先级
- 三元运算符检查多个字符串
- 用javascript中的三元运算符连接字符串
- 使用AngularJs数据绑定的三元运算符显示图像
- 三元运算符是NaN
- AngularJS模板中的三元运算符
- Javascript 同构三元运算符无法正确解析
- 车把中有三元运算符吗.js
- 三元运算符未执行的虚假语句
- 根据三元运算符选择函数
- 用三元运算符整理javascript
- 堆叠三元运算符在 Angularjs 表达式中不起作用
- es6javascript推荐使用三元运算符应用模板文本的方法
- 具有逻辑运算符的复杂三元运算符
- 通过三元运算符的自赋值
- 三元运算符中的表达式作为函数
- JavaScript中看似多余的三元运算符
- js:三元运算符中的多重返回
- Javascript 三元运算符结果
- 使用三元运算符缩短代码