JQuery:在可见的情况下使用手风琴面板通过show和hide来切换不在手风琴中的另一个元素

时间:2013-10-18 21:36:32

标签: jquery accordion

我在自己的手机中有一个带面板的手风琴。页面上有第二个div,它有一个按钮元素。当任何手风琴面板可见或打开时,我需要按钮隐藏;当面板关闭时,按钮会再次显示。到目前为止,手风琴的工作原理是通过隐藏按钮来找到,但是在面板关闭后按钮不会重新出现。

我在这个问题上寻求一些帮助,因为我不是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 );

1 个答案:

答案 0 :(得分:0)

理想情况下,你应该使用手风琴的“主动”属性。

这是link to the API.

以下代码可能有效:

(function($){

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

    }) ( jQuery );