我有一些只有在点击链接后才可见的 div。如何关闭所有打开的 div,以便只有点击的 div 可见?
我正在使用这个 .js:
function showhide(id){
if (document.getElementById) {
var divid = document.getElementById(id);
divid.style.display = (divid.style.display=='block'?'none':'block');
} }
<a href="javascript:void(null)" onclick="showhide('features');">features</a>
<a href="javascript:void(null)" onclick="showhide('design');">design</a>
<a href="javascript:void(null)" onclick="showhide('create');">create</a>
谢谢 乌力
最佳答案
一种方法是添加一个类并根据该类查找元素以隐藏它们(如其他答案所示)
另一种方法是将元素的状态存储在一个对象中,并使用它来识别需要关闭的打开的元素。
var divState = {}; // we store the status in this object
function showhide(id) {
if (document.getElementById) {
var divid = document.getElementById(id);
divState[id] = (divState[id]) ? false : true; // initialize / invert status (true is visible and false is closed)
//close others
for (var div in divState){
if (divState[div] && div != id){ // ignore closed ones and the current
document.getElementById(div).style.display = 'none'; // hide
divState[div] = false; // reset status
}
}
divid.style.display = (divid.style.display == 'block' ? 'none' : 'block');
}
}
关于JavaScript - 隐藏所有其他 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8655741/