我正在创建一个站点,您将鼠标悬停在图像上并显示一个元素(在这种情况下,通过将其高度从 0 扩展到 154px)。
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 函数的所有变体 (false,false)(false,true)(true,false)(true,true)。每个问题发生的问题不同,但仍然会发生。
终极编辑:
问题在于,一旦调用该函数,鼠标经过的内容就会被不同的内容所覆盖。因此,在任何给定点,鼠标同时进入和离开图像。通过将函数调用移动到不同的元素解决了这个问题。