我正在使用 jQuery 开发一个非常简单的 fadeIn / fadeOut 选项卡系统,但是,它并不像我希望的那样流畅。
这是我的演示,供您查看它的实际应用。
看看演示。我希望它会相互淡入和淡出,但是如果您单击Tab 1 > Tab 2 > Tab 3然后返回Tab 1,沿途会出现奇怪的淡入/淡出故障。
任何想法我如何解决这个问题?我的jQuery是:
$(document).ready(function(){
$('ul.tabs').each(function(){
var $active, $content, $links = $(this).find('a');
$active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]);
$active.addClass('active');
$content = $($active.attr('href'));
$links.not($active).each(function () {
$($(this).attr('href')).hide();
});
$(this).on('click', 'a', function(e){
$active.removeClass('active');
$content.fadeOut("slow");
$active = $(this);
$content = $($(this).attr('href'));
$active.addClass('active');
$content.fadeIn("slow");
e.preventDefault();
});
});
});
我的HTML是:
<ul class="tabs">
<li><a href="#tab1">Overview</a></li>
<li><a href="#tab2">Sub Nav 2</a></li>
<li><a href="#tab3">Sub Nav 3</a></li>
</ul>
<div id="tab1">
<p>this is a test 1</p>
</div>
<div id="tab2">
<p>this is a test 2</p>
</div>
<div id="tab3">
<p>this is a test 3</p>
</div>
非常感谢任何指针:-)