我遇到了使用jquery的mouseenter和mouseleave的问题。
输入div时,将启动mouseenter功能。当我在完成mouseenter之前离开div时,mouseleave不会触发。
我做了一个jsfiddle让它更容易理解。
代码:
$("#menu1").mouseenter(function() {
//code
})
$("#image").mouseleave(function () {
//code
});
因此,当进入按钮时,会出现一个图像。在图像出现之前离开按钮(在光标接触图像之前),鼠标离开不会触发。
编辑: 当使用#menu进行鼠标移动时,只需“移动”鼠标,图像就会非常奇怪。
我知道已经存在这样的一些问题,但它们都没有为我工作。
非常感谢,对不起我的英语
答案 0 :(得分:2)
您可以使用hover
事件处理程序来设置进出处理程序函数。
如果将悬停设置在#p2
之类的包装元素上会更简单,因此当您进入/退出包装器而不是其子代时它将被触发。
代码:
$('document').ready(function () {
$("#p2").hover(function () {
$(this).css("cursor", "pointer")
$("#image").css("left", "75");
$("#image").stop().animate({
width: "145px",
height: "145px",
left: "0"
}, 'slow');
$("#c").animate({
top: "100"
}, 'slow');
}, function () {
$("#image").stop().animate({
width: "0%",
height: "0%",
left: "75"
}, 'slow');
$("#c").animate({
top: "0"
}, 'slow');
});
});