2013-10-18 15 views
0

我有一個手風琴,面板上有自己的div ul li。有一個第二個div在頁面上有一個按鈕元素。每當任何手風琴面板可見或打開時,我需要隱藏該按鈕;並且每當面板關閉時,按鈕會再次顯示。到目前爲止,手風琴作品通過隱藏按鈕來查找,但在關閉面板後該按鈕不會重新出現。JQuery:在可見狀態下使用手風琴面板切換不在手風琴內的另一個元素,通過顯示和隱藏

我在這個問題上尋求一點幫助,因爲我不是JQuery領域的專家。這裏是我的代碼:

 (function($) { 

      $(document).ready(function() { 
       $(".accordion").click(function() { 
        // this is the accordion when a panel is open 
        if ($('ul.accordion> li> .content').siblings('div:visible')) { 
         // this is a button outside the accordion on the same page 
         $("#bttnReturn").hide(); 
        } else { 
         $("#bttnReturn").show(); 
        } 
       }); 
      }); 

     }) (jQuery); 

Solution: 

     (function($) { 
      $(document).ready(function() { 
       $(".accordion").on("click", function(event) { 
        $("#bttnReturn").slideToggle("fast"); 
       }); 
      }); 
     }) (jQuery); 

回答

0

你應該理想地使用手風琴的「active」屬性。

這裏是一個link to the API.

下面的代碼可能的工作:

(函數($){

 $(document).ready(function() { 
      $(".accordion").click(function() { 
       if($(".selector").accordion("option", "active")) { 
        $("bttnReturn").hide(); 
       } else { 
        $("bttnReturn").show(); 
       } 
      }); 
     }); 

    }) (jQuery); 
+0

感謝您的輸入,它沒有工作,我上了一個錯誤如果聲明行說:「對象不支持這個屬性或方法」,我只需要做更多的研究 –

+0

對此我很抱歉,我發佈了錯誤的代碼,編輯了代碼。再次。 – Neeraj

+0

感謝您的更新,我已經想出了一個非常簡單並且效果很好的解決方案。我把它貼在上面。 –