您好,我正在努力使用 JS 來使我的 HTML 頁面上的按鈕在單擊時為按鈕添加邊框,并在再次單擊時洗掉邊框。它適用于前 2 次點擊,但之后不再執行任何操作。請原諒我的 js 我非常缺乏經驗。
JavaScript:
<script>
var flag = true;
var buttons = document.getElementsByClassName("btn");
function buttonFunction() {
if (flag) {
for (var i = 0; i < buttons.length; i ) {
document.getElementsByClassName("btn")[i].addEventListener("click", function() {
this.classList.add("buttonSelect");
flag = false
return
});
}
} else {
if (flag == false) {
for (var i = 0; i < buttons.length; i ) {
document.getElementsByClassName("btn")[i].addEventListener("click", function() {
this.classList.add("buttonUnselect");
flag = true
return
});
}
}
}
}
</script>
uj5u.com熱心網友回復:
真正的問題是您要添加兩個類并且永遠不會洗掉它們。擺脫if else宣告,只需在點擊時切換類。也不需要將回圈包裝在函式中。只需讓 javascript 在運行時執行事件偵聽器即可。
此外,請使用buttons您創建的 var,而不是嘗試再次查詢 DOM 以獲得相同的元素。
<script>
var buttons = document.getElementsByClassName("btn");
for (var i = 0; i < buttons.length; i ) {
buttons[i].addEventListener("click", function() {
this.classList.toggle("buttonSelect");
})
}
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/442296.html
標籤:javascript 按钮 点击 边境 撤消
