我也執行類似任務的兩個類似的功能,但我不太確定如何最好地將它們合併爲我還是一個初學者...合併兩個功能切換按鈕
小提琴顯示了兩個功能:
https://jsfiddle.net/umda6wn6/1/
<div class="content">
<div class="green button">
<b>Button</b>
</div>
<div class="red button">
<b>Button</b>
</div>
<div class="green gdiv">
GREENGREENGREENGREEN
</div>
<div class="green gdiv">
GREENGREENGREENGREEN
</div>
<div class="red rdiv">
REDREDREDRED
</div>
</div>
CSS
.button {
color: white;
background-color: green;
width: 10%;
display: inline-block;
text-align: center;
padding: 5px;
}
.red {
background-color: red;
}
.green {
background-color: green;
}
.button:hover {
cursor: pointer;
}
.buttonoff {
background-color: gray;
}
JS
$(document).ready(function() {
$(".green").click(function() {
$(".gdiv").toggle();
$(".green").toggleClass("buttonoff");
});
});
$(document).ready(function() {
$(".red").click(function() {
$(".rdiv").toggle();
$(".red").toggleClass("buttonoff");
});
});
我猜它看起來有點像這個
$(document).ready(function() {
$(".button").click(function() {
$(???).toggle();
$(this).toggleClass("buttonoff");
});
但我不知道該怎麼把裏面的「???」。由於我要添加更多的按鈕,我想要一種方法來擴展此功能,而無需爲每個新功能添加另一個功能...
這不會切換gdiv? –
在你的例子中,有一個帶有2個'green'和'gdiv'的div以及一些JS代碼'$(「.rdiv」)。toggle(); $( 「紅 」)toggleClass(「 buttonoff」);'。從我可以看到它引用相同的元素,所以不需要引用這兩個類。例如。綠色與gdiv相同,因爲類在同一個元素上。 –
我不清楚你試圖達到什麼目的。玩過你提供的例子後,我意識到我的困惑。 @ KIMB技術有正確的答案,但是,我建議避免JS代碼邏輯在可能的情況下依賴類名稱。 –