使用 2 个不同的函数删除 2 个按钮数组中包含的按钮上的 css 类
Removing a css class on buttons contained in 2 button arrays using 2 different functions
不太确定这是否是一个范围问题,但基本上...
我在 4 个名为 main_btns 的数组中有 1 个div 按钮,当您在每个按钮之间单击时,它们会在 2 个类之间切换以通过切换显示不同的背景颜色。
我在另一个名为 genre_btns 的数组中还有 12 个按钮,当以相同的背景颜色变化切换时,它们会在其他 2 个类之间切换。
当我的用户在每个数组中的按钮之间单击时,我需要将类从一个数组删除到另一个数组。例如:如果我单击 genre_btns 数组中的一个按钮,那么按钮的背景颜色会改变,但是如果我单击 main_btns 数组中的一个按钮,那么在 genre_btns 数组中单击的按钮的背景颜色将恢复 BACK,而main_btns中单击的按钮将更改。(总的来说,在每个数组之间切换按钮时,我只需要显示一种背景颜色)。
这是我的代码:
<!-- array for main_btns -->
<div id="selector">
<div id="btn-atoz" class="class2" onclick="toggleClassMainBtn(this)">
ACTS A-Z
</div>
<div id="btn-headlining" class="class1" onclick="toggleClassMainBtn(this)">
HEADLINING
</div>
<div id="btn-weekend1" class="class1" onclick="toggleClassMainBtn(this)">
WEEKEND 1
</div>
<div id="btn-weekend2" class="class1" onclick="toggleClassMainBtn(this)">
WEEKEND 2
</div>
</div>
<!-- array for genre_btns -->
<div id="genre">
<div id="btn-alternative" class="class3" onclick="toggleClassGenreBtn(this)">
ALTERNATIVE
</div>
<div id="btn-blues" class="class3" onclick="toggleClassGenreBtn(this)">
BLUES
</div>
<div id="btn-country" class="class3" onclick="toggleClassGenreBtn(this)">
COUNTRY
</div>
<div id="btn-dance" class="class3" onclick="toggleClassGenreBtn(this)">
DANCE
</div>
<div id="btn-electronic" class="class3" onclick="toggleClassGenreBtn(this)">
ELECTRONIC
</div>
<div id="btn-hip-hop-rap" class="class3" onclick="toggleClassGenreBtn(this)">
HIP-HOP/RAP
</div>
<div id="btn-jazz" class="class3" onclick="toggleClassGenreBtn(this)">
JAZZ
</div>
<div id="btn-metal" class="class3" onclick="toggleClassGenreBtn(this)">
METAL
</div>
<div id="btn-pop" class="class3" onclick="toggleClassGenreBtn(this)">
POP
</div>
<div id="btn-rnb" class="class3" onclick="toggleClassGenreBtn(this)">
R&B
</div>
<div id="btn-reggae" class="class3" onclick="toggleClassGenreBtn(this)">
REGGAE
</div>
<div id="btn-rock" class="class3" onclick="toggleClassGenreBtn(this)">
ROCK
</div>
</div>
<!-- css for button backgrounds -->
<style>
.class1 /* button toggles */
{
background: #cc516d;
}
.class2 /* button toggles */
{
background: #963B50;
}
.class3 /* button toggles */
{
background: #cc516d;
}
.class4 /* button toggles */
{
background: #963B50;
}
</style>
<script>
//toggles for buttons acts a-z, headlining, weekend 1, weekend 2
function toggleClassMainBtn(x){
var main_btns = document.getElementById('selector').children;
for(var i = 0; i < main_btns.length; i++){
main_btns[i].className = "class1";
}
x.className = "class2";
}
//toggles for genre buttons
function toggleClassGenreBtn(x) {
var genre_btns = document.getElementById('genre').children;
for(var i = 0; i < genre_btns.length; i++){
genre_btns[i].className = "class3";
}
x.className = "class4";
}
</script>
使用了一些 jQuery。
小提琴。
.js:
function toggleClassMainBtn(x){
var main_btns = document.getElementById('selector').children;
for(var i = 0; i < main_btns.length; i++){
main_btns[i].className = "class1";
}
x.className = "class2";
$('.class4').removeClass('class4').addClass('class3');
}
//toggles for genre buttons
function toggleClassGenreBtn(x) {
var genre_btns = document.getElementById('genre').children;
for(var i = 0; i < genre_btns.length; i++){
genre_btns[i].className = "class3";
}
x.className = "class4";
$('.class2').removeClass('class2').addClass('class1');
}
相关文章:
- 将插件制作的Javascript包含到html按钮中
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 在“加载更多”按钮函数中包含 JSON 数据
- jQuery 隐藏按钮,如果它们不包含文本
- 当文本框中包含数据时禁用按钮
- 单击包含按钮的最后一列时获取表的第一列值
- 使用DOM javascript包含文本和图片的按钮
- 下拉框及其元素使用包含警报框的按钮
- 创建一个类似datatables.net的表示例,其中包含parent/child和+/-响应按钮
- 操作无法使用自定义控件上的呈现属性集,该控件包含操作按钮
- 如何通过单击按钮包含 html 文件
- 禁用按钮,如果所选行包含特定值 ng-grid
- “创建”按钮,用于切换不包含特定文本颜色的表行的可见性
- 如果 e.keyCode 是“输入”按钮,并且元素包含其他文本,则验证条件
- 如何将单选按钮替换为还包含提交按钮的图像
- 使用 2 个不同的函数删除 2 个按钮数组中包含的按钮上的 css 类
- 一个 HTML 表单,其中包含用于不同任务的多个提交按钮
- 为什么我以前的按钮不包含控制器的参数?分页列表 MVC
- 在Mustache模板中嵌入一个Twitter共享按钮(包含JS和所有内容)
- 我如何引用并返回一个响应,基于一个单选按钮的答案,该单选按钮包含在另一个单选键中