2016-04-08 127 views
-3

問題很簡單。當我點擊可見圖像時,所有出現的盒子都應該消失,並在活動的場地上出現。事情是當我點擊相同的領域兩次框不消失。jQuery隱藏框

我希望我的代碼能解釋更多我想要做的事情。 代碼:

的jQuery:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var img = $('.users_table tr .user_gear').find('img'); 
     //var dropdown = $('.users_table tr .user_gear').next('.user_arrow_box'); 

     if((img).is(':visible') == true){ 
      img.click(function(){ 
       var all = $('.users_table tr .user_gear').find('.user_arrow_box'); 
       var a = $(this).parent().find('.user_arrow_box'); 
       a.toggle(function() { 
        all.removeClass('active'); 
        a.addClass('active'); 
       }, function() { 
        a.removeClass('active'); 
       }); 

       return false; 
      }); 
     } 
    }); 
    </script> 
+0

你能提供一個小提琴爲例? –

+0

我認爲你需要img.click事件中的if(... visible ...)語句。 否則,如果圖像在加載頁面時不可見,您甚至不會註冊單擊事件 –

+0

爲什麼您需要'visible'聲明?如果圖像不可見,則不會/不能點擊。 **不要**將變量的名稱與標準變量相同......我建議不要使用'img'作爲變量名稱。 – Scott

回答

1

嘗試是這樣的:

img.click(function(){ 
       var all = $('.users_table tr .user_gear').find('.user_arrow_box'); 
       var a = $(this).parent().find('.user_arrow_box'); 
        all.not($(a)).removeClass('active'); 
        a.toggleClass('active'); 
       return false; 
      }); 
+0

我不想讓所有的盒子都激活。我只需要讓我點擊。它與活動菜單鏈接類似。但問題是,如果我在同一圖像上單擊兩次 第一次:盒子應該出現 第二次:盒子應該dissapear additionaly: 如果我點擊不同中的其他人應該dissapear。 :) – user2204367

+0

更新了我的回答 – madalinivascu

+0

Thx隊友工作:)))麻煩了! – user2204367