2015-09-18 61 views
0

當我點擊帖子1或2或3按鈕時,黃金文本將被隱藏,下次我將點擊我想要銀色文本隱藏。最後我會點擊帖子3我想瀏覽文本被隱藏。它第一次工作,下一次將不起作用。jquery單擊按鈕操作隱藏或顯示文本

<div> 

<p id="gg">Gold</p> 

<p id="ss">Silver</p> 

<p id="bb">Browse</p> 

<button id="cancel">Cancel</button><br/><br/> 

<button id="post1" value="">Post 1</button><br/><br/> 
<button id="post2" value="">Post 2</button><br/><br/> 
<button id="post3" value="">Post 3</button> 

</div> 

<script src="js/jquery.js"></script> 
<script src="js/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 


     $("#post1").click(function(){ 
     //$("#g").hide(); 

     if ($('#gg:visible') && $('#ss:visible') && $('#bb:visible')) { 
      $("#gg").hide(); 
     } 

     else if ($('#gg').is(':hidden') && $('#ss:visible') && $('#bb:visible')) { 
      $("#ss").hide(); 
      //alert('s') 
     } 
     else{ 
      $("#bb").hide(); 
     } 
     }); 

     $("#post2").click(function(){ 
     //$("#g").hide(); 

     if ($('#gg:visible') && $('#ss:visible') && $('#bb:visible')) { 
      $("#gg").hide(); 
     } 

     else if ($('#gg').is(':hidden') && $('#ss:visible') && $('#bb:visible')) { 
      $("#ss").hide(); 
      //alert('s') 
     } 
     else{ 
      $("#bb").hide(); 
     } 

     }); 

     $("#post3").click(function(){ 
     //$("#g").hide(); 

     if ($('#gg:visible') && $('#ss:visible') && $('#bb:visible')) { 
      $("#gg").hide(); 
     } 

     else if ($('#gg').is(':hidden') && $('#ss:visible') && $('#bb:visible')) { 
      $("#ss").hide(); 
      //alert('s') 
     } 
     else{ 
      $("#bb").hide(); 
     } 

     }); 

    $("#cancel").click(function(){ 
     $("p").show(); 
    }); 
}); 
</script> 
+0

當然,它不會工作:您正在離開完全相同的三個條件,你已經換了一個又的元素(能見度)狀態。所以IF語句永遠不會評估爲真。 –

+0

那我該怎麼辦? –

+0

那麼,如果只是想刪除它,永遠只是不要放任何條件。如果你想切換其可見性(隱藏/可見),你可能想要使用jquery.toggle函數來更簡單/更快的方法。 http://api.jquery.com/toggle/ –

回答

1

改變你的JavaScript是:

$(document).ready(function(){ 


     $("#post1, #post2, #post3").click(function(){ 


     if ($('#gg').is(':visible') && $('#ss').is(':visible') && $('#bb').is(':visible')) { 
      $("#gg").hide(); 
     } 

     else if ($("#gg").is(":hidden") && $('#ss').is(':visible') && $('#bb').is(':visible')) { 
      $("#ss").hide(); 

     } 
     else{ 
      $("#bb").hide(); 
     } 
     }); 



    $("#cancel").click(function(){ 
     $("p").show(); 
    }); 
}); 

這裏是它的一個jsfiddle工作

+0

謝謝,現在可以了,請指點我點擊按鈕顏色後點擊添加顏色變化 –

+0

當我點擊此功能時,我可以獲得click id的值嗎? Bcoz我想知道什麼div id用戶點擊。 –