jquery - 如何在多个班级(超过2个)之间切换?
问题描述
我将尝试解释我想要做什么。如果班级超过2个,如何在多个班级之间切换?当我单击彩色按钮时,将添加/交换容器颜色类。当我单击白色按钮时,它会删除容器颜色类。
这是一个 JSFiddle 示例,以便更好地理解:https ://jsfiddle.net/bwd86h4e/1/
我希望有人能帮忙。谢谢。
HTML:
<div class="buttons">
<div class="btn btn-reset"></div>
<div class="btn btn-red"></div>
<div class="btn btn-green"></div>
<div class="btn btn-yellow"></div>
</div>
<div class="container">
When I click on the colored buttons above, then container color class will exchanged. When I click on the white button, then it removes container color class. How to do it?
</div>
CSS:
/* Buttons */
.btn {
display: inline-block;
width: 30px;
height: 30px;
margin: 3px;
cursor: pointer;
border: 2px solid #333;
}
.btn.btn-red { background-color: red; }
.btn.btn-green { background-color: green; }
.btn.btn-yellow { background-color: yellow; }
/* Container */
.container {
max-width: 480px;
margin-top: 20px;
padding: 40px;
border: 2px solid #333;
}
/* Container color classes */
.container.cont-red { background-color: red; }
.container.cont-green { background-color: green; }
.container.cont-yellow { background-color: yellow; }
解决方案
你使用 jQuery:
$('.btn').click(function()
{
var color = $(this).attr('data-class');
//check to see if el has class btn-reset
if ($(this).hasClass('btn-reset')) {
$('.container').attr('class', 'container')
} else {
$('.container').attr('class', 'container cont-'+ class)
}
})
并且您的 html 更改为:
<div class="buttons">
<div class="btn btn-reset" data-class="reset"></div>
<div class="btn btn-red" data-class="red"></div>
<div class="btn btn-green" data-class="green"></div>
<div class="btn btn-yellow" data-class="yellow"></div>
</div>
参考:
https://api.jquery.com/addClass/
https://api.jquery.com/hasClass/
jsFiddle:https ://jsfiddle.net/fkopmjyx/
推荐阅读
- python - Python中的通用比较运算符?
- ffmpeg - 分段 MP4:TrackFragHeader TFHD 必须有 TrackID,这在规范中吗?
- algorithm - 多个用户将任务添加到队列的最佳任务处理算法是什么?
- r - Geom Smooth 不适用于 R 中时间序列的日期标签
- json - JOLT 只获取多个同名数组中的一个数组
- javascript - 在输入上使用 maskmoney 库
- node.js - 向嵌套路由添加渲染参数
- gmail - 使用 inboxSdk 将操作按钮添加到线程列表上方的 gmail 顶部栏
- python - 用一个新窗口替换一个窗口 - Python tkinter
- android - 您将如何使用 Gesture UI 在 Android 上激活 React Native Navigation 抽屉