2015-09-10 473 views
0

通过点击链接,我想显示最初隐藏的div .box。但是,如果链接被再次点击,而.box可见,我想隐藏它。点击显示并隐藏div

我可以用下面的代码显示,但如何再次单击链接时隐藏它?

<a href="#" class="link">Click</a> 
<div class="box" style="display: none">box</div> 

$('.link').click(function(e){  
    $('.box').fadeIn('slow'); 
}); 

http://jsfiddle.net/ntfhfsft/

+0

严重?为什么是-1?我在这里问了什么问题? – sam

回答

5

您需要使用fadeToggle()以淡入淡出和切换。添加event.preventDefault()以防止点击事件的默认操作。

更新:您可以使用stop()清除动画队列

$('.link').click(function(e) { 
 
    e.preventDefault() 
 
    $('.box').stop() 
 
    .fadeToggle('slow'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<a href="#" class="link">Click</a> 
 
<div class="box" style="display: none">box</div>

+1

添加'e.preventDefault()'或'return false'以防止在页面上滚动/滚动的奇怪现象以及地址栏中的丑陋'#':) – Phillip

1

HTML:

<a href="#" class="link">Click</a> 
<div class="box" style="display: none">box</div> 

你可以用它来ggle方法:

$('.link').click(function(e){ 
     $('.box').toggle('slow'); 
    }); 

这里是Demo