Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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.show working,not.hide当使用slideToggle时_Javascript_Jquery_Html_Wordpress_Slidetoggle - Fatal编程技术网

Javascript jQuery.show working,not.hide当使用slideToggle时

Javascript jQuery.show working,not.hide当使用slideToggle时,javascript,jquery,html,wordpress,slidetoggle,Javascript,Jquery,Html,Wordpress,Slidetoggle,我正在使用jQuery在我的站点上进行多个切换菜单。但是,如果我将它的初始加载从.show更改为.hide,它将不起作用 我的js文件是: jQuery(document).ready(function($) { $('div ul.menu').hide(); $('h2.trigger').click(function() { $(this).toggleClass("active").next().slideToggle('slow'); return false; }); }); 我的

我正在使用jQuery在我的站点上进行多个切换菜单。但是,如果我将它的初始加载从.show更改为.hide,它将不起作用

我的js文件是:

jQuery(document).ready(function($) {
$('div ul.menu').hide();
$('h2.trigger').click(function() {
$(this).toggleClass("active").next().slideToggle('slow');
return false;
});
});
我的多个菜单的html如下所示:

<aside class="widget">
<h2 class="trigger">Portfolio</h2>
<div>
<ul class="menu">
<li></li>
</ul>
</aside>

<aside class="widget">
<h2 class="trigger">Portfolio</h2>
<div>
<ul class="menu">
<li></li>
</ul>
</aside>

<aside class="widget">
<h2 class="trigger">Portfolio</h2>
<div>
<ul class="menu">
<li></li>
</ul>
</aside>

文件夹
文件夹
文件夹

你知道为什么这行不通吗?

只需去掉额外的
div
标签。您的
next()
正在选择该菜单,而不是您试图指向的ul.menu。像这样:

<aside class="widget">
<h2 class="trigger">Portfolio</h2>
<ul class="menu">
<li>Test</li>
</ul>
</aside>

<aside class="widget">
<h2 class="trigger">Portfolio</h2>
<ul class="menu">
<li>Test</li>
</ul>
</aside>

<aside class="widget">
<h2 class="trigger">Portfolio</h2>
<ul class="menu">
<li>Test</li>
</ul>
</aside>
省略div

$('ul.menu').hide();

注意:这似乎适用于.show()的原因是默认情况下会显示div,因此不会注意到对错误项调用.show()的事实。

您有三个打开的
容器。也许是打字错误,或者你没有意识到你不能让它们打开。我输入了错误的代码,我的错误。应该有一个部门要关门了。div是Wordpress在WP 3.0中生成自定义菜单的方式的结果。我不相信有办法删除它们,但我正在研究。你是对的,我发现了如何从Wordpress菜单中删除无用的div。
$('ul.menu').hide();