所以我写了这个clickDisplay函数,在click上显示某些元素,它工作正常,是的,但显然我需要一个隐藏所有其他元素的功能,因为它们应该显示在同一个字段中,所以现在他们有点堆叠在彼此之上 这就是我提出的,但它有点不起作用,我不知道为什么
const pages = ['watch','chars','seasons','songs']
function clickHide(element){
document.getElementById(element).style.display = 'none';
}
function clickDisplay(element){
document.getElementById(element).style.display = 'block';
for(let x = 0 ; x < pages.length ; x++){
if (pages[x]!=element){clickHide(pages[x]);}
}
}
答案 0 :(得分:0)
但我确信这仍然是一个愚蠢的解决方案
答案 1 :(得分:0)
虽然听起来你解决了自己的问题,但是在你发布之前我开始编写代码,所以我会把它扔给你。 :)
const pages = ['watch', 'chars', 'seasons', 'songs']
function clickHide (el) {
pages.forEach((pel) => {
setElement(pel, pel === el ? 'none' : 'block')
})
}
function setElement(el, attr) {
document.getElementById(el).style.display = attr
}
使用html:
onclick="clickHide('watch')" // or 'chars' 'seasons' or 'songs'