我有一个脚本通过onclick =“toogle_visibility(id)
打开div事件,但是当我想要关闭打开和打开的div
时该怎么办?新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';
}
HTML:
<div class="navBar">
<a href="#social" onclick="toggle_visibility('Social')">Social</a>
<a href="#social" onclick="toggle_visibility('Foljer')">Följer</a>
<a href="#social" onclick="toggle_visibility('Bokmarken')">Bokmä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>
CSS:
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;
}
声明!
#social和#bokmarken链接中的这些链接不是出于商业目的。
答案 0 :(得分:1)
您可以使用JQuery Toggle
<div id="clickme">
Click here !!!
</div>
<a href="#social" >Social</a>
$( "#clickme" ).click(function() {
$( "#social" ).toggle(); //With no parameters, the .toggle() method simply toggles the visibility of elements:
});
首先选择您愿意隐藏/显示的控件,然后使用该控件的ID,如下所示:
$('#<id-of-that-control>').toggle();
现在,您可以根据需要在按钮或div的onclick事件处理程序中调用它。
它的外观如下:
<强> JS 强>
function toggle_visibility(id) {
$('#' + id).toggle();
}
<强> HTML 强>
<div class="navBar">
<a href="#social" onclick="toggle_visibility('Social')">Social</a>
<a href="#social" onclick="toggle_visibility('Foljer')">Följer</a>
<a href="#social" onclick="toggle_visibility('Bokmarken')">Bokmärken</a>
</div>
<强>更新强>: 正如Brodie所指出的,看起来你可能总是在研究由Niet the Dark Absol提供的解决方案。因为他为您提供了纯粹的JS实现。我的解决方案将让您深入了解如何使用像JQuery这样的库以及它的切换API。 Jquery提供了广泛的内置功能,可帮助您快速完成任务。我的代码片段为您提供的是使用api即切换,使用时将与隐藏和显示行为相同。
答案 1 :(得分:0)
基本上,您需要关闭所有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';
}
}