我正在盯着我的旅程與JS所以pleace耐心:) 即時通訊構建一個小應用程序。左側的圖像存儲在數組中。如果有人點擊其中一個,我想更改它的高度,但也要將布爾值從false更改爲true,以便我知道用戶點擊了哪個(用於其他目的)。在我看來,它是這樣的:創建一個數組 - >將EventListener添加到item->鏈,它選擇函數(將值更改爲true) - >運行setClick函數來更改高度。那裏有什麼問題? 我aprecciate任何建議。 CODEPEN http://codepen.io/finewitch/pen/ZBKMKm
更改存儲在數組中的對象的布爾值
var storage = new Array();
storage[0] = document.getElementById("grandFatherCh");
storage[1] = document.getElementById("grandMotherCh");
storage[2] = document.getElementById("sisterCh");
storage[3] = document.getElementById("brotherCh");
storage[4] = document.getElementById("fatherCh");
storage[5] = document.getElementById("motherCh");
storage[0].clicked = false;
storage[1].clicked = false;
storage[2].clicked = false;
storage[3].clicked = false;
storage[4].clicked = false;
storage[5].clicked = false;
for (var i=0; i<storage.length; i++){
storage[i].addEventListener("click",choosen, setClick);
console.log("clicked");
};
function choosen(){
if (storage[i].clicked == false)
{
return "stillFalse"
storage[i].clicked = true;
}
};
function setClick(){
if(storage[i].clicked === true){
return "setClickWorks"
storage[i].style.height = "400px";
}else{
console.log('failed');
}
};
你不能只爲那個元素添加一個屬性。 'storage [0] .clicked' - 我相信它是一個'HTMLElement'類型,我不認爲它有一個內置的'clicked'屬性。 –
你想如何點擊JavaScript中的數組?嘗試在@PraveenKumar建議的HTML元素上綁定單擊事件處理程序。 –
什麼是'setClick'?它也應該在'addEventListener'的第二個參數中爲'false' –