[英]To know if mouse still hover menu
我有以下菜單構造非常恢復(不能更改HTML代碼到期是不可能的,只有CSS和JS!):
$('span').on("hover", handleHover('span')); function handleHover(e) { $(e).on({ mouseenter: function() { $(this).addClass('selecc'); $(this).next("ul").show(); }, mouseleave: function() { $(this).removeClass('selecc'); $(this).next("ul").hide(); } }); }
span { display:block; } ul { background-color:#CCC; color:#000; display:none; margin:0; } .selecc { background-color:Red; color:#FFF }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <span>Option 1</span> <ul> <li>suboption 1-1</li> <li>suboption 1-2</li> <li>suboption 1-3</li> </ul> <span>Option 2</span> <ul> <li>suboption 2-1</li> <li>suboption 2-2</li> <li>suboption 2-3</li> </ul>
我需要將鼠標移到子選項上,但菜單關閉,我不知道如何告訴jquery UL是菜單組的一部分。 有點想法嗎?
沒有人說你不能使用jQuery動態改變HTML :)
所以,是的,將您的SPAN + UL分組,並將懸停功能附加到您的.group
包裝器:
$("span").each(function(){
var ul = $(this).next("ul");
$(this).add(ul).wrapAll("<div class='group'/>");
});
$(".group").hover(handleHover);
function handleHover() {
$("span",this).toggleClass('selecc');
$("ul",this).stop().slideToggle();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.