2012-07-26 143 views
2

在ID爲1-3的備用div之間當用戶單擊相應的鏈接時,如何顯示每個div之間的可見性?我只想要一次顯示一個div。謝謝。在多個div之間切換jQuery

<a>Link 1</a><br> 
<a>Link 2</a><br> 
<a>Link 3</a><br> 

<div id="1"> 
    <p align="left">Content 1</p> 
    </p> 
</div> 
<div id="2"> 
    <p align="left">Content 2</p> 
    </p> 
</div> 
<div id="3"> 
    <p align="left">Content 3</p> 
    </p> 
</div> 

回答

3

將id添加到您的鏈接,以便您可以添加事件處理程序。假設您設置鏈路ID對鏈接1,鏈路2,鏈接3,使用下面的代碼要連接的事件處理程序:

$("#Link1").bind("click", function() { 
    $("#1").show(); 
    $("#2").hide(); 
    $("#3").hide(); 
}); 

代碼事件處理上面的其他環節(2 & 3),調整邏輯,它顯示相應的div,並隱藏其他。

一個更強大的解決方案:

<a class="myLink" divId="1">Link 1</a> 

$(".myLink").bind("click", function() { 
    $(".myDiv").hide(); 
    var divId = $(this).attr("divId"); 
    $("#" + divId).show(); 
}); 

假設您添加類「myDiv」到所有的div和類「myLink的」給所有的鏈接。

工作例如: http://jsfiddle.net/8XZKx/1/

+0

感謝,唯一的問題是,如果我想擴展的div量說20以上會有很多重複的代碼。 – 2012-07-26 19:12:21

+0

我喜歡$(「。myDivs」)。hide();你有一個快速工作的例子嗎? – 2012-07-26 19:29:25

+0

查看上次編輯...希望有所幫助。 – SimulatedBones 2012-07-26 19:40:56