每個人。我是編程新手,我不知道如何使用回圈重構此代碼,因此通過按右箭頭鍵,面板將像在滑塊中一樣切換(我注釋掉了我的嘗試)。
document.addEventListener("keydown", (e) => {
if (e.key === "ArrowRight") {
if (panels[0].classList.contains("active")) {
panels[0].classList.remove("active");
panels[1].classList.add("active");
} else if (panels[1].classList.contains("active")) {
panels[1].classList.remove("active");
panels[2].classList.add("active");
} else if (panels[2].classList.contains("active")) {
panels[2].classList.remove("active");
panels[3].classList.add("active");
} else if (panels[3].classList.contains("active")) {
panels[3].classList.remove("active");
panels[4].classList.add("active");
} else if (panels[4].classList.contains("active")) {
panels[4].classList.remove("active");
panels[0].classList.add("active");
}
// for (let i = 0; i < panels.length; i ) {
// if (panels[i].classList.contains("active")) {
// panels[i].classList.remove("active");
// panels[ i].classList.add("active");
// }
// if (i > panels.length - 1) {
// panels[panels.length - 1].classList.remove("active");
// panels[0].classList.add("active");
// }
// }
// }
}
});
uj5u.com熱心網友回復:
你可以這樣做:
document.addEventListener("keydown", (e) => {
if (e.key === "ArrowRight") {
for (let i = 0; i < 5; i ) {
let j = (i 1) % 5;
if (panels[i].classList.contains("active")) {
panels[i].classList.remove("active");
panels[j].classList.add("active");
break;
}
}
}
});
此代碼使用模數,因此在最后一個回圈中,第二個數字等于
5%5 = 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/504618.html
標籤:javascript 循环 if 语句
