Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 简单jQuery Accordion-隐藏可见屏幕上的按钮_Javascript_Jquery_Html_Css_Accordion - Fatal编程技术网

Javascript 简单jQuery Accordion-隐藏可见屏幕上的按钮

Javascript 简单jQuery Accordion-隐藏可见屏幕上的按钮,javascript,jquery,html,css,accordion,Javascript,Jquery,Html,Css,Accordion,任何建议都好。这很简单,但我想不出来 我正在使用一个简单的jQuery手风琴脚本。以下是HTML: 下面是脚本: 函数初始化菜单(){ $('#menu ul').hide(); $(“#菜单ul:first”).show(); $('a.collapse')。单击( 函数(){ var checkElement=$(this.next(); 如果((checkElement.is('ul'))和(&(checkElement.is(':可见))){ 返回f

任何建议都好。这很简单,但我想不出来

我正在使用一个简单的jQuery手风琴脚本。以下是HTML:

  • 下面是脚本:

    函数初始化菜单(){
    $('#menu ul').hide();
    $(“#菜单ul:first”).show();
    $('a.collapse')。单击(
    函数(){
    var checkElement=$(this.next();
    如果((checkElement.is('ul'))和(&(checkElement.is(':可见))){
    返回false;
    }
    如果((checkElement.is('ul'))&(!checkElement.is(':visible')){
    $(“#菜单ul:visible”).slideUp('normal');
    checkElement.slideDown('normal');
    返回false;
    }
    });
    }
    $(document).ready(函数(){initMenu();});
    
    很好的简单脚本,很好,很轻

    这是我的问题,任何建议都将是惊人的

    我需要将当前可见菜单中的
    链接按钮
    设置为
    显示:无
    ,并在打开的菜单之间切换

    因此,当当前可见菜单打开时,打开它的链接会添加样式
    display:none
    。但是所有其他
    链接按钮
    都应该可见,并且不应用样式
    显示:无
    。这样,菜单仍然可以正常工作

    只有可见的“打开”菜单才应有
    显示:无

    如果你能帮忙的话,这将是非常棒的。提前感谢。

    从修改menu.js

    函数初始化菜单(){
    $('#menu ul').hide();
    $(“#菜单ul:first”).show();
    $(“#菜单a”)。单击(
    函数(){
    var checkElement=$(this.next();
    如果((checkElement.is('ul'))和(&(checkElement.is(':可见))){
    返回false;
    }
    如果((checkElement.is('ul'))&(!checkElement.is(':visible')){
    $(“#菜单ul:visible”).slideUp('normal');
    checkElement.slideDown('normal');
    返回false;
    }
    }
    );
    }
    $(document).ready(函数(){initMenu();});
    
    为此:

    函数初始化菜单(){
    $('#menu ul').hide();
    $(“#菜单a”)。单击(
    函数(){
    var checkElement=$(this.next();
    如果((checkElement.is('ul'))和(&(checkElement.is(':可见))){
    返回false;
    }
    如果((checkElement.is('ul'))&(!checkElement.is(':visible')){
    $('#menu li a').show();
    $(this.hide();
    $(“#菜单ul:visible”).slideUp('normal');
    checkElement.slideDown('normal');
    返回false;
    }
    }
    );
    }
    $(document).ready(函数(){initMenu();});
    
    我修改了第一部分,因此它不会显示第一个子菜单。 然后我添加了这几行,这样它将显示其他链接,但隐藏活动链接

    $('#menu li a').show();
    $(this).hide();
    
    编辑:


    您也可以在

    上查看一个正在运行的实现。我的防病毒软件告诉我,您提供的链接试图用特洛伊木马感染我的计算机。真的吗?这很奇怪,我在mac电脑上,并没有注意到任何特洛伊木马病毒。谢谢你们这么多-工作的待遇!我使用了您的代码并将其添加回,因为我希望第一个仍然打开:$(“#menu ul:first”)。show();-然后我在我的链接上添加了一些内联css来显示none。它在两个完美之间交替。谢谢