Javascript 如何在第一次单击中运行jquery函数,在第二次单击中运行另一个函数
我有一个使用jquery函数的html菜单。当用户单击父菜单项时,它会显示子项,如果用户单击第一个子项,则会显示另一个子项。当用户将鼠标移出父菜单项时,不会显示每个子项和子项,因为这会让用户感到有点困惑。我正在尝试更改鼠标保留事件以单击事件Javascript 如何在第一次单击中运行jquery函数,在第二次单击中运行另一个函数,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个使用jquery函数的html菜单。当用户单击父菜单项时,它会显示子项,如果用户单击第一个子项,则会显示另一个子项。当用户将鼠标移出父菜单项时,不会显示每个子项和子项,因为这会让用户感到有点困惑。我正在尝试更改鼠标保留事件以单击事件 <div style="margin-top: 200px; width: 140px; text-align: left;"> <div> &l
<div style="margin-top: 200px; width: 140px; text-align: left;">
<div>
<a href="#Home" onclick="close_this()" class="lmenu">Home</a>
</div>
<div>
<a href="#AboutUs" onclick="load_contents('aboutus.php', 400, '')" class="lmenu">About Us</a>
</div>
<div class="lmenu parent">
<div>
<a href="#" class="lmenu">Our Services</a>
</div>
<div class="subperent">
<a href="#">
Event Management
</a>
<div class="chilld" onclick="load_contents('eventmngmnt.php', 400, 'categories.php')">
<a class="lmenu" href="#">
Categories
</a>
</div>
<div class="chilld" onclick="load_contents('providingfac.php', 800, '')">
<a class="lmenu" href="#">
Providing Facilities
</a>
</div>
</div>
<div class="subperent">
<a href="#">
Rental
</a>
<div class="chilld">
<a class="lmenu" href="#" onclick="load_contents('avequipments.php', 850, '')">
AVEquipments
</a>
</div>
<div class="chilld">
<a class="lmenu" href="#" onclick="load_contents('otherservices.php', 850, '')">
Other Services
</a>
</div>
</div>
<div class="subperent">
<a href="#">
Exhibition Stalls
</a>
<div class="chilld">
<a class="lmenu" href="#standard_stall" onclick="load_contents('standardstalls.php', 600, '')">
Standard Stall
</a>
</div>
<div class="chilld">
<a class="lmenu" href="#designed_stall" onclick="load_contents('designedstalls.php', 600, '')">
Designed Stalls
</a>
</div>
</div>
<div style="clear: both"></div>
</div>
<div class="lmenu parent">
<div>
<a href="#" class="lmenu">Gallery</a>
</div>
<div class="subperent">
<a class="lmenu" onclick="load_contents('gallery.php', 600, '')" href="#">
Events & Confferance
</a>
</div>
<div class="subperent">
<a class="lmenu" onclick="load_contents('gallery_stalls.php', 600, '')" href="#">
Stalls
</a>
</div>
</div>
</div>
这段代码工作得很好,但在第一次单击之后,我使用mouseleave事件隐藏子项,但我需要的是将mouseleave事件转换为第二次单击。
有人能给我一个这样做的指南吗?现在我使用这个jquery代码,但仍然有一个小问题,那就是当我单击父项时,它显示子项,如果我单击子项,它显示子项。但是,如果我再次单击子项,它将隐藏这些子项,但问题是,当我第二次单击子项时,我无法使其隐藏子项 这不是一个大问题,所以我认为这是好的,所以我假设这是我的答案,但如果有人能找出它来隐藏子项,这对我也有好处 var$表示_sub=0; var$表示子项=0
$(function() {
$('.parent').click(function() {
if ($showing_sub == 0) {
$sub_itmes = $('.subperent', this);
$sub_itmes.css({
"display": "block",
});
$sub_itmes.animate({
"opacity": 1
});
}
else
{
$sub_itmes = $('.subperent', this);
$sub_itmes.css({
"display": "none",
});
$sub_itmes.animate({
"opacity": 0
});
$showing_sub = 0;
}
});
});
$(function() {
$('.subperent').click(function() {
if ($showing_child == 0) {
$sub_itmes = $('.chilld', this);
$sub_itmes.css({
"display": "block",
});
$sub_itmes.animate({
"opacity": 1
});
$showing_child = 1;
//$showing_sub = 1;
}
else
{
$sub_itmes = $('.chilld', this);
$sub_itmes.css({
"display": "none",
});
$sub_itmes.animate({
"opacity": 0
});
$showing_child = 0;
}
});
});
单击后,检查变量。如果不是真的,请将其设置为真。下一次你点击,这将是真的,你可以做任何你想做的下一步。。。。或者删除处理程序末尾的第一个事件侦听器,并附加另一个。或者,您可以通过谷歌切换事件替换。您应该找到一个简单的插件来实现旧的切换事件。
$(function() {
$('.parent').click(function() {
if ($showing_sub == 0) {
$sub_itmes = $('.subperent', this);
$sub_itmes.css({
"display": "block",
});
$sub_itmes.animate({
"opacity": 1
});
}
else
{
$sub_itmes = $('.subperent', this);
$sub_itmes.css({
"display": "none",
});
$sub_itmes.animate({
"opacity": 0
});
$showing_sub = 0;
}
});
});
$(function() {
$('.subperent').click(function() {
if ($showing_child == 0) {
$sub_itmes = $('.chilld', this);
$sub_itmes.css({
"display": "block",
});
$sub_itmes.animate({
"opacity": 1
});
$showing_child = 1;
//$showing_sub = 1;
}
else
{
$sub_itmes = $('.chilld', this);
$sub_itmes.css({
"display": "none",
});
$sub_itmes.animate({
"opacity": 0
});
$showing_child = 0;
}
});
});