我正在嘗試運行一個函式以允許多個 div 在同一個呼叫中,每個 div 都有自己的唯一 ID。我認為這會起作用:
var btn1 = document.getElementById("btn1");
btn1.onmouseover = function(event){
event.preventDefault();
toggleDivs("ed1", "ed2", "ed3");
};
//function to hide or show
function toggleDivs(s){
//reset
document.getElementById("ed1").classList.remove("shown");
//show
document.getElementById(s).classList.add("shown");
}
它有點作業,但只出現陣列 (ed1) 中的第一個 div。另外兩個,我敢肯定,如果我將它們添加到整個陣列中,不會。
我嘗試讓每個 div 出現一個 toggleDivs(在這種情況下總共 3 個),但沒有運氣。什么方法可以讓這些都同時出現,而不僅僅是第一個?
uj5u.com熱心網友回復:
在 toggleDivs 中,您只使用第一個引數。使用陣列發送所有:
toggleDivs([ "ed1", "ed2", "ed3" ]);
document.getElementById(id) 函式一次只接收一個 id,所以你必須像這樣迭代:
s.forEach(id => document.getElementById(id).classList.add("displayed"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/498129.html
標籤:javascript
