jQuery多处理程序
我的jQuery是否可以有多个处理程序?例如,在单击我的导航时,我希望它显示它所执行的子元素,并在这两个元素之间切换。然而,我也希望它隐藏时,鼠标是出来的 是否需要编写两个单独的函数,或者是否可以将两个处理程序合并为一个: 如果您想查看或查看我的代码,我已经创建了一个: js/js.jsjQuery多处理程序,jquery,html,Jquery,Html,我的jQuery是否可以有多个处理程序?例如,在单击我的导航时,我希望它显示它所执行的子元素,并在这两个元素之间切换。然而,我也希望它隐藏时,鼠标是出来的 是否需要编写两个单独的函数,或者是否可以将两个处理程序合并为一个: 如果您想查看或查看我的代码,我已经创建了一个: js/js.js $('.child').hide(); $('.parent').on('click', 'mouseout', function() { $('#usernav').find('ul').slideUp();
$('.child').hide();
$('.parent').on('click', 'mouseout', function() {
$('#usernav').find('ul').slideUp();
$(this).find('ul').slideToggle();
});
index.html
<div class="rightBottom">
<h1 class="boxheadings">Other functions</h1>
<p class="boxp">Click this button to view your current published site in a new window. This will not show your most recent changes until you click the ‘Publish Changes’ button on the right, alternatively click view local to see unpublished changes.</p>
<ul id="usernav">
<li class="parent">Manage
<ul class="child">
<li>child11</li>
<li>child12</li>
</ul>
</li>
<li class="parent">Subscriptions
<ul class="child">
<li>E-Briefings</li>
<li>E-Briefings Subscriptions</li>
<li>Knowledge Briefings</li>
</ul>
</li>
<li class="parent">Media Store
<ul class="child">
<li>Image Store</li>
<li>Document Store</li>
<li>Media Store</li>
</ul>
</li>
其他职能
单击此按钮可在新窗口中查看当前发布的站点。只有单击右侧的“发布更改”按钮,或者单击“查看本地”以查看未发布的更改,才会显示最近的更改
这不起作用,但我想它可以像上面那样起作用
有人有什么想法吗 只需在以下两者之间加上空格:
$('.child').hide();
$('.parent').on('click mouseout', function() {
$('#usernav').find('ul').slideUp();
$(this).find('ul').slideToggle();
});
然而,我相信这就是你想要做的:
$('.child').hide();
$('.parent').on('click', function() {
$(this).find('ul').stop(true, false).slideToggle();
}).on('mouseout', function() {
$('#usernav').find('ul').stop(true, false).slideUp();
});
stop()
在这里所做的是清除前面的动画队列,以便在事件多次触发时不会重复
@simonzack谢谢是的,这很有效,而且它确实能很快地上下切换!但希望我能通过定义速度来减缓这一切settings@simonzack谢谢你的改进答案,这真的很有帮助!没问题,很高兴我能帮上忙。如果切换速度很快,请设置速度,如
。slideToggle('slow')代码>或滑动切换('800')代码>