2013-07-17 73 views
-1

我試圖用jQuery顯示圖片庫。這是我的代碼:div內的jQuery div

<script> 
     $("#vsetky").click(function(){ 
    $("#obrazky").show(); 
}); 
     $("#c").click(function(){ 
    $("#cervene").show(); 
}); 
</script> 

<div id="obrazky"> 
    <div id="cervene"> 
    <img src="1.png"> 
    <img src="1.png"> 
    </div> 
    <div id="zlte"> 
    <img src="2.png"> 
    <img src="2.png"> 
    </div> 
    <div id="zelene"> 
    <img src="3.png"> 
    <img src="3.png"> 
    </div> 
</div> 

當#vsetky元素被點擊時...它的工作原理是,每個圖片都顯示出來。 單擊#c元素時,沒有任何圖片。 我試圖用

$("#obrazky > #cervene").show(); 

我嘗試過其他方法,但是沒有什麼工作。請幫助我 - 我做錯了什麼?

+0

在上面的例子中沒有ID爲「c」的元素。元素「c」在哪裏? – Dusty

+0

這不是完整的代碼..我不認爲具有ID #C的鏈接是重要的 –

+0

您可以驗證#c的點擊偵聽器是否實際執行? – Dusty

回答

0

你的CSS看起來像什麼?如果#obrazky和#cervene都有display:none,那麼當你點擊#c時,你只會從#cervene中刪除display:none規則,但不是它的父級包裝div#obrazky。

編輯: 您需要將CSS更改爲隱藏#cervene,#zlte和#zelene,然後使用javascript單獨顯示和隱藏它們。如果一個元素的父元素具有display:none,那麼用show()來代替它不會造成任何影響,因爲您不會從父元素中移除display:none。

<script> 
    $("#vsetky").click(function(){ 
     $("#cervene, #zlte, #zelene").show(); 
    }); 
    $("#c").click(function(){ 
     $("#cervene").show(); 
    }); 
</script> 

<style> 
    #obrazky {display:inline-block;} 
    #cervene, #zlte, #zelene {display:none;} 
</style> 

<div id="obrazky"> 
    <div id="cervene"> 
     <img src="1.png"> 
     <img src="1.png"> 
    </div> 
    <div id="zlte"> 
     <img src="2.png"> 
     <img src="2.png"> 
    </div> 
    <div id="zelene"> 
     <img src="3.png"> 
     <img src="3.png"> 
    </div> 
</div> 
+0

#cervene沒有任何CSS .. #obrazky { display:inline-block; margin-top:100px; 寬度:700px; display:none; } –

+0

好的,我上面更新了。 –

+0

啊..是的,我現在得到它..謝謝你! –