这是我想出的,它会淡出所有内容,除了点击的那个(内部.not()
),而是切换。
HTML:
<a href="" data-id="d1">Link 1</a>
<a href="" data-id="d2">Link 1</a>
<a href="" data-id="d3">Link 1</a>
<div id="d1">Div 1</div>
<div id="d2">Div 2</div>
<div id="d3">Div 3</div>
CSS:
a {
background:blue;
color:red;
}
.active {
background:green;
color:white;
}
div{
display:none;
}
jQuery:
$('a').click(function(ev){
ev.preventDefault();
var id = $(this).data('id');
$('a').not($(this).toggleClass('active')).removeClass('active');
// parallel fading:
$('div').not($('#'+id).fadeToggle(500)).fadeOut(500);
// OR
// sequential fading:
$.when($('div').not($('#'+id)).fadeOut(500)).done(function(){
$('#'+id).fadeToggle(500)
});
});
jsFiddle:
http://jsfiddle.net/fKGc5/