我有三個信息面板(ID分別爲panel-one
,panel-two
和panel-three
,所有的類info-panel
),我希望有一個鏈接點擊和滑出(這些ID有ID toggle-one
,toggle-two
和toggle-three
,全部與類別toggle
)。如果其中一個div在點擊其他鏈接時顯示,我想隱藏可見div並顯示新的鏈接。如果div的自己的鏈接被點擊,我想切換顯示/隱藏。我使用下面的代碼來做到這一點:用jQuery切換多個DIV
HTML:
<ul>
<li><a id="toggle-one" class="toggle">One</a></li>
<li><a id="toggle-two" class="toggle">Two</a></li>
<li><a id="toggle-three" class="toggle">Three</a></li>
</ul>
<div id="panel-one" class="info-panel"><!-- content here --></div>
<div id="panel-two" class="info-panel"><!-- content here --></div>
<div id="panel-three" class="info-panel"><!-- content here --></div>
的jQuery:
$("#toggle-one").click(function() {
if($("#panel-two").is(":visible")) {
$("#panel-two").css("z-index", "9997").hide("slide", {direction: 'up'}, 750);
} else if($("#panel-three").css("z-index", "9997").is(":visible")) {
$("#panel-three").css("z-index", "9997").hide("slide", {direction: 'up'}, 750);
}
$("#panel-one").css("z-index", "9998").toggle("slide", {direction: 'up'}, 750);
return false;
});
$("#toggle-two").click(function() {
if($("#panel-one").is(":visible")) {
$("#panel-one").css("z-index", "9997").hide("slide", {direction: 'up'}, 750);
} else if($("#panel-three").is(":visible")) {
$("#formlink").css("z-index", "9997").hide("slide", {direction: 'up'}, 750);
}
$("#panel-two").css("z-index", "9998").toggle("slide", {direction: 'up'}, 750);
return false;
});
$("#toggle-three").click(function() {
if($("#panel-one").is(":visible")) {
$("#panel-one").css("z-index", "9997").hide("slide", {direction: 'up'}, 750);
} else if($("#panel-two").is(":visible")) {
$("#panel-two").css("z-index", "9997").hide("slide", {direction: 'up'}, 750);
}
$("#panel-three").css("z-index", "9998").toggle("slide", {direction: 'up'}, 750);
return false;
});
它的工作原理,但它是非常詳細的,不會很好地擴展 - 管理信息的三個部分是好的,但是如果/當時間增加時,它將變成一個重大的維護工作。我試過使用類似於Show/Hide Multiple Divs with Jquery中概述的方法,但似乎無法使其正常工作 - 切換和隱藏行爲不能很好地工作(隱藏潛水錶演時,他們不應該立即隱藏和事物像那樣)。同樣,我似乎也無法得到Jquery toggle on 3 divs中顯示的示例。
我敢肯定有一個更乾淨的方式來做到這一點,但由於我是一個jQuery和JavaScript n00b位,我真的不知道如何去整理它。解決這個問題的最好方法是什麼?
工作示例:http://jsfiddle.net/b7C2d/1/ – campegg