【问题标题】:JQuery: Using accordion panels when visible to toggle another element that's not within the accordion by show and hideJQuery:在可见时使用手风琴面板通过显示和隐藏来切换不在手风琴内的另一个元素
【发布时间】:2013-10-19 09:23:37
【问题描述】:

我有一架手风琴,在它自己的 div ul li 中有面板。页面上有第二个 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 );

【问题讨论】:

    标签: jquery accordion


    【解决方案1】:

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

    这是link to the API.

    以下代码可能有效:

    (函数($){

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

    【讨论】:

    • 感谢您的输入,它不起作用。我在 if 语句行收到错误消息:“对象不支持此属性或方法”。我只需要做更多的研究。
    • 对此我很抱歉。我发布了错误的代码。编辑了代码。你能再试一次吗?
    • 感谢您的更新,我已经想出了一个非常简单且运行良好的解决方案。我把它贴在上面了。
    • 我又试了一次,但仍然遇到同样的错误。您使用的是什么版本的 JQuery 和 JQueryUI,这可能与我收到错误的原因有关吗?我正在使用 JQuery ver.1.9.0 和 JQueryUI ver。 1.10.3.
    • 你能在 jsbin 或 jsfiddle 中发布你的代码吗?我可以看一下,我们就可以决定哪个版本的 jquery 可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2021-07-07
    • 2012-11-22
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多