我正在盯着我的旅程与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' –