[英]addEventListener click only works once for class change
我可能正在处理完全错误的问题-必须在香草JS中完成。
我有一些DOM元素,它们会在点击时隐藏并显示。 我有类似的设置适用于可折叠菜单,并且工作正常。 不知道我在做什么错。
windows.onload = function() {
features.addEventListener('click',function(){
render(0);
})
specs.addEventListener('click',function(){
render(1);
})
function render(which) {
if (0) {
console.log('0 clicked')
features.classList.add('active');
specs.classList.remove('active');
renderFeatures.classList.remove('hidden');
renderSpecs.classList.add('hidden');
} else if (1) {
console.log('1 clicked')
features.classList.remove('active');
specs.classList.add('active');
renderFeatures.classList.add('hidden');
renderSpecs.classList.remove('hidden');
}
}
我试图在单击两个元素时添加一个活动类并删除隐藏的类。 当我单击一个时,它可以工作,但是此后,它不再工作。
if (0)
将始终为false
。 你必须使用的值, which
的变量,你没有做任何地方。
function render(which) {
if (which === 0) {
console.log('0 clicked')
features.classList.add('active');
specs.classList.remove('active');
renderFeatures.classList.remove('hidden');
renderSpecs.classList.add('hidden');
} else if (which === 1) {
console.log('1 clicked')
features.classList.remove('active');
specs.classList.add('active');
renderFeatures.classList.add('hidden');
renderSpecs.classList.remove('hidden');
}
}
windows.onload = function() {
features.addEventListener('click',function(){
render(0);
})
specs.addEventListener('click',function(){
render(1);
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.