Javascript 清除所有打开的div';s

Javascript 清除所有打开的div';s,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个脚本,通过执行onclick=“toogle\u可见性(id)来打开 事件,但当我想关闭打开的div时,我该怎么做 新部门 Javascript/jQuery: function toggle_visibility(id) { var e = document.getElementById(id); if(e.style.display == 'block') e.style.display = 'none'; else e.style.disp

我有一个脚本,通过执行onclick=“toogle\u可见性(id)来打开

事件,但当我想关闭打开的div时,我该怎么做

新部门

Javascript/jQuery:

function toggle_visibility(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'block')
      e.style.display = 'none';
   else
      e.style.display = 'block';
}
<div class="navBar">
<a href="#social" onclick="toggle_visibility('Social')">Social</a>
<a href="#social" onclick="toggle_visibility('Foljer')">F&ouml;ljer</a>
<a href="#social" onclick="toggle_visibility('Bokmarken')">Bokm&auml;rken</a>
</div>
<div id="Social">
<a href="http://www.twitter.com/Liam_Rab3">@Liam_Rab3 - TWITTER</a><br>
<a href="http://www.twitter.com/Liam_Rab3">@Liam_Rab3 - INSTAGRAM</a><br>
<a href="http://www.facebook.com/LiamRab3">@LiamRab3- FACEBOOK</a><br>
<a href="http://www.youtube.com/howmuchtimedr">@Liam_Rab3 - YOUTUBE</a><br>
<a href="http://www.flickr.com/Liam_Rab3">@Liam_Rab3 - FLICKR</a><br>
<a href="http://www.thenotallowedguy.tk">@Liam_Rab3 - TUMBLR</a><br>
</div>
<div id="Foljer">
<a href="http://www.instagram.com/sebbestakset">Sebbe Stakset (Kartellen)</a>
</div>
a:link {
color:white;
text-decoration:none;
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;
}
a:hover {
color:white;
text-decoration:none;
font-size:100%;
}
a:visited {
text-shadow:0px 0px 0px #0066BB;
color:white;
}
#social {
display:none;
}
#Foljer {
display:none;
}
HTML:

function toggle_visibility(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'block')
      e.style.display = 'none';
   else
      e.style.display = 'block';
}
<div class="navBar">
<a href="#social" onclick="toggle_visibility('Social')">Social</a>
<a href="#social" onclick="toggle_visibility('Foljer')">F&ouml;ljer</a>
<a href="#social" onclick="toggle_visibility('Bokmarken')">Bokm&auml;rken</a>
</div>
<div id="Social">
<a href="http://www.twitter.com/Liam_Rab3">@Liam_Rab3 - TWITTER</a><br>
<a href="http://www.twitter.com/Liam_Rab3">@Liam_Rab3 - INSTAGRAM</a><br>
<a href="http://www.facebook.com/LiamRab3">@LiamRab3- FACEBOOK</a><br>
<a href="http://www.youtube.com/howmuchtimedr">@Liam_Rab3 - YOUTUBE</a><br>
<a href="http://www.flickr.com/Liam_Rab3">@Liam_Rab3 - FLICKR</a><br>
<a href="http://www.thenotallowedguy.tk">@Liam_Rab3 - TUMBLR</a><br>
</div>
<div id="Foljer">
<a href="http://www.instagram.com/sebbestakset">Sebbe Stakset (Kartellen)</a>
</div>
a:link {
color:white;
text-decoration:none;
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;
}
a:hover {
color:white;
text-decoration:none;
font-size:100%;
}
a:visited {
text-shadow:0px 0px 0px #0066BB;
color:white;
}
#social {
display:none;
}
#Foljer {
display:none;
}
免责声明!

“社交和博克市场”链接中的这些链接并非用于商业目的。

您可以使用JQuery

HTML

<div class="navBar">
<a href="#social" onclick="toggle_visibility('Social')">Social</a>
<a href="#social" onclick="toggle_visibility('Foljer')">F&ouml;ljer</a>
<a href="#social" onclick="toggle_visibility('Bokmarken')">Bokm&auml;rken</a>
</div>

更新
正如Brodie所指出的,你可能会一直关注Niet the Dark Absol提供的解决方案。他为你提供了一个纯JS实现。我的解决方案将让你深入了解如何使用像JQuery这样的库及其切换API。JQuery提供了广泛的内置功能,帮助你快速完成任务。我的文章是什么of code为您提供的是api的使用,即切换,使用时与隐藏和显示行为相同。

基本上,您需要关闭所有div,并切换当前div

试试这个:

var ids = ['Social','Foljer','Bokmarken'];
function toggle_visibility(id) {
   var l = ids.length, i, e;
   for( i=0; i<l; i++) {
       e = document.getElementById(ids[i]);
       if( id != ids[i])
          e.style.display = 'none';
       else if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
}
varids=['Social','Foljer','Bokmarken'];
功能切换\u可见性(id){
var l=ids.length,即,e;

对于(i=0;我是否只允许一次打开所选div['Social'、'Foljer'、'Bokmarken']中的一个,或者可以打开多个菜单?我们说我单击'Foljer',但我想打开'Social',因此'Foljer'div关闭并且'Social'div打开可能的副本我可以更改$(“#book”)。切换(“slow”,function(){with$(“id”).toggle(“slow”,function(){或类似的东西?是的,或者只需右击一个函数并用$(this)将其绑定到元素。单击(function())所以…基本上,你正在使用功能完美的JavaScript,用jQuery把它膨胀得像没有明天一样,但仍然没有真正做到OP想要的…?我发誓,没有人能再真正编写纯JS了。@Niet the Dark Absol firstyl,有一个jQuery标记,而且,如果我们提供了完整的代码,那么我们仍然不能确保ser将自己学习任何东西。他将开始使用我们提供的相同逻辑。因此,通过阅读用法,toggle的链接对他来说很重要。