javascript/htmlDOM 显示元素同时隐藏其他元素
javascript/htmlDOM display element while hiding the others
所以我写了这个 clickDisplay 函数,它在点击时显示某些元素,它工作正常,是的,但显然我需要一个隐藏所有其他元素的功能,因为它们应该显示在同一个字段中, 所以现在他们有点堆叠在一起
这是我想出的,但它有点不起作用,我不知道为什么
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]);}
}
}
哦等等,我不知道为什么,但现在突然可以用了。我只更改了占位符文本并刷新了页面
但我确信这仍然是一个愚蠢的解决方案
虽然听起来你自己解决了问题,但我在你发布之前就开始整理代码了,所以我会把它放在这里给你。 :)
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'
所以我写了这个 clickDisplay 函数,它在点击时显示某些元素,它工作正常,是的,但显然我需要一个隐藏所有其他元素的功能,因为它们应该显示在同一个字段中, 所以现在他们有点堆叠在一起 这是我想出的,但它有点不起作用,我不知道为什么
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]);}
}
}
哦等等,我不知道为什么,但现在突然可以用了。我只更改了占位符文本并刷新了页面
但我确信这仍然是一个愚蠢的解决方案
虽然听起来你自己解决了问题,但我在你发布之前就开始整理代码了,所以我会把它放在这里给你。 :)
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'