我正在创建一个网站,您将鼠标悬停在图像上,它会显示一个元素(在本例中是将其高度从 0 扩展到 154 像素)。
jQuery(document).ready(function(){
jQuery("#dropdown-menu-create .dropimage").mouseover(function(){
jQuery("#dropdown-menu-create .toggle").animate({height:"154px"},200);
});
jQuery("#dropdown-menu-create .dropimage").mouseout(function(){
jQuery("#dropdown-menu-create .toggle").animate({height:"0"},200);
});
});
当鼠标进入时,内容会展开,当鼠标离开时,内容会折叠,但每次鼠标在元素内移动时,内容都会重复展开和折叠,直到鼠标离开元素。
我以前从未遇到过这个问题,而且我过去也使用过这些功能,所以我不知道发生了什么。有什么想法吗?
编辑:
jQuery(document).ready(function(){
jQuery("#dropdown-menu-create .dropimage").mouseenter(function(){
jQuery("#dropdown-menu-create .toggle").stop(true,true).animate({height:"154px"},200);
});
jQuery("#dropdown-menu-create .dropimage").mouseleave(function(){
jQuery("#dropdown-menu-create .toggle").stop(true,true).animate({height:"0"},200);
});
});
我现在正在使用上面的代码,但仍然遇到完全相同的问题。我已经尝试了 .stop 函数的所有变体(假,假)(假,真)(真,假)(真,真)。每个问题的出现情况有所不同,但仍然会出现。
最终编辑:
问题是调用该函数后,鼠标移过的内容被不同的内容覆盖了。因此,在任何给定点,鼠标同时进入和离开图像。通过将函数调用移动到不同的元素解决了该问题。
最佳答案
尝试使用.mouseenter事件而不是 .mouseover
我想这样就可以了!
关于jquery - 每次我在给定元素内移动鼠标时,鼠标悬停和鼠标离开都会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10080067/