Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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在单击主菜单之前如何保持子菜单关闭?_Javascript_Jquery_Submenu_Slidingmenu - Fatal编程技术网

Javascript jquery在单击主菜单之前如何保持子菜单关闭?

Javascript jquery在单击主菜单之前如何保持子菜单关闭?,javascript,jquery,submenu,slidingmenu,Javascript,Jquery,Submenu,Slidingmenu,以下是当前代码:子菜单将自动打开,希望它保持关闭状态,直到单击主菜单- 最初使用CSS将其隐藏: .main-menu + ul { display:none; } 我看了你最后的作品。干得好有点晚了,我知道你不需要它,但正如我在这里承诺的,我在评论中的意思 HTML <ul class="menu"> <li>Home</li> <ul> <li>Element 1</li>

以下是当前代码:子菜单将自动打开,希望它保持关闭状态,直到单击主菜单-


最初使用CSS将其隐藏:

.main-menu + ul { display:none; } 

我看了你最后的作品。干得好有点晚了,我知道你不需要它,但正如我在这里承诺的,我在评论中的意思

HTML

<ul class="menu">
    <li>Home</li>
    <ul>
        <li>Element 1</li>
        <li>Element 2</li>
        <li>Element 3</li>
    </ul>
    <li>Services</li>
    <ul>
        <li>Element 4</li>
        <li>Element 5</li>
        <li>Element 6</li>
    </ul>
</ul>
CSS

ul.menu { margin: 0; padding: 0; width: 200px; font-family: arial;}
ul.menu ul { display: none; }
ul.menu li { list-style: none; border: 1px solid #CCCCCC; padding: 10px; }
ul.menu ul { padding: 0; background: #EEEEEE  }

是否有理由不嵌套菜单?我的意思是在一个主菜单中创建一个包含ul-li-ul的树?嗨,里卡多,对不起,我是个新手,不了解你的问题。您可以发布一个您所指内容的示例。谢谢:)你应该打印和学习。继续点击下一章4或5个屏幕。记住选择器,尤其是。在一两周内工作几个小时,你就会成为jQuery高手。我这样问是因为如果你这样做的话,你可以隐藏所有的孩子,并以更有组织的方式使用选择器。您仍然可以这样做,但这将是一个更好的实践问题。如果我稍后有时间,我将创建一个示例。嗨,里卡多,是的,那太好了。我会留意的。另一方面,您能告诉我jquery代码是否必须在内部才能正常工作吗?是否有其他首选位置?谢谢:)好的,取得进展。页面可以在我的网站上查看:在这里,我注意到我的页面加载了funky,并且由于jquery已经被包括在内,所以页面会跳转。他还想看看点击链接后,子菜单是否能保持打开状态,以便浏览者知道他们在哪里。谢谢:)嘿,谢谢里卡多:)你有两个不同代码的ul.menu ul是有原因的吗?只是好奇。这里的新手:)再次感谢!嘿,里卡多,看看我的网站,我整个周末都在做这个工作,可以用红色按钮给当前页面上色。仍然在试图弄清楚如何在点击子菜单链接(打开另一页)时保持手风琴式垂直菜单打开。我已经意识到jquery在这一点上有点太难处理了。我会付钱给别人让它工作,哈哈。再次感谢你,伙计:)你可能想用PHP来做。将类添加到显示该类的“打开/选定/当前”菜单中。你不希望jQuery做所有的工作来呈现你的网站,它会减慢速度。好的,太好了!我将开始阅读PHP的内容。谢谢:)我真不敢相信我的网站看起来像是什么都不知道的样子。多亏了谷歌和很多尝试和错误的东西。
.main-menu + ul { display:none; } 
<ul class="menu">
    <li>Home</li>
    <ul>
        <li>Element 1</li>
        <li>Element 2</li>
        <li>Element 3</li>
    </ul>
    <li>Services</li>
    <ul>
        <li>Element 4</li>
        <li>Element 5</li>
        <li>Element 6</li>
    </ul>
</ul>
$(document).ready( function() {
    $('li').click(function(){
        $('ul.menu ul').slideUp('fast'); // hides all the submenu that are open
            var submenu = $(this).next('ul');
        if ( $(this).next('ul').is(':visible') ) {
            submenu.slideUp('fast'); // if is already open, it will hide it. if you don't care about one being always open, delete this if statement and keep the last line slideToggle.
        } else {
            submenu.slideToggle('fast'); // toggles within open and close.
        }
    });
});
ul.menu { margin: 0; padding: 0; width: 200px; font-family: arial;}
ul.menu ul { display: none; }
ul.menu li { list-style: none; border: 1px solid #CCCCCC; padding: 10px; }
ul.menu ul { padding: 0; background: #EEEEEE  }