【发布时间】:2015-01-16 04:10:32
【问题描述】:
我试图弄清楚当我单击导航栏链接时如何取消切换(隐藏)所有其他 div。 到目前为止,它会切换 div,但是当我单击新链接时它们会保持活动状态。 我希望他们 .slideUp() 和我点击的那个 slideDown 这是我的代码:
<script type="text/javascript">
$(document).ready(function(){
$(".output .about , .resume").hide();
$("#about").click(function(e)
{
e.preventDefault;
$(this).find('li').toggleClass('active ');
$(".about").slideToggle("slow");
});
$("#resume").click(function(e)
{
e.preventDefault;
$(this).find('li').toggleClass('active');
$(".output .resume").slideToggle("slow");
});
});
<div class="cont2">
<ul>
<a href="#" id="about"><li class="fade-in one " >About</li></a>
<a href="#" id="resume"><li class="fade-in two">Resume</li></a>
<a href="#"><li class="fade-in three">Portfolio</li></a>
<a href="#"><li class="fade-in four">Contact</li></a>
</ul>
</div>
<div class="output">
<div class="about">
<p>About</p>
</div>
<div class="resume">
<p>Resume</p>
</div>
</div>
编辑:正常工作的代码
$(document).ready(function(){
$(".cont1").hide();
$(".cont1").fadeIn(1000);
$(".output .about , .resume").hide();
$("#about").click(function(e)
{
e.preventDefault();
$(".cont2 li .active").removeClass('active');
$(this).find('li').toggleClass('active');
$(".about").slideToggle("slow");
$(".resume").slideUp("slow");
});
$("#resume").click(function(e)
{
e.preventDefault;
$(this).find('li').toggleClass('active');
$(".output .resume").slideToggle("slow");
});
});
【问题讨论】:
-
这是一个纠正该问题的小提琴,以及我认为您正在尝试做的带注释的演示,尽管看起来 balzafin 可能已经击败了我。 jsfiddle.net/Yardboy/36fa4v9a/2