我正在使用JS顯示/隱藏div通過點擊側面導航與jquery函數fadeIn()和fadeOut()。我碰到的問題是一個div淡出,另一個同時淡入。另外,如果我點擊已經顯示的div的鏈接,它會淡出並再次淡入。我不確定IF語句是否是做兩個修正的最佳方法:
1.讓div顯示完全淡出,然後再開始淡入淡出。
2.如果單擊相同的鏈接,當前顯示的div不會淡出/中。jquery顯示/隱藏divs - 修復重疊動畫
這裏是我迄今(不含在IF語句我破碎的嘗試):
http://jsfiddle.net/k55Cw/1/
HTML:
<div class="container">
<header>
<ul class="sidenav">
<li><h2><a data-region="nav-1" href="#">About</a></h2></li>
<li><h2><a data-region="nav-2" href="#">Services</a></h2></li>
<li><h2><a data-region="nav-3" href="#">Team</a></h2></li>
<li><h2><a data-region="nav-4" href="#">News</a></h2></li>
<li><h2><a data-region="nav-5" href="#">Contact</a></h2></li>
</ul>
</header>
<div id="nav-1" class="infozone"><p>Hello I'm box 1.</p></div>
<div id="nav-2" class="infozone"><p>Hello I'm box 2.</p></div>
<div id="nav-3" class="infozone"><p>Hello I'm box 3.</p></div>
<div id="nav-4" class="infozone"><p>Hello I'm box 4.</p></div>
<div id="nav-5" class="infozone"><p>Hello I'm box 5.</p></div>
</div>
CSS:
.infozone{
float:left;
height:400px;
width:800px;
background-color: #000;
display:none;
}
JS:
$(document).ready(function() {
$('.sidenav a').click(function(){
$('.infozone').fadeOut(850);
var region = $(this).attr('data-region');
$('#' + region).fadeIn(850);
});
});
這已完美解決了我的問題!非常感謝你。我現在看到我做錯了什麼。 – Craig 2013-03-05 14:43:44