我有一个在页面加载时可见的元素。
在理想世界中发生的事情如下:
如果光标悬停在该元素之外,则该元素淡出。
这种情况在这种情况下工作正常,但是如果光标已经在页面加载的元素上,并且光标很快就从元素移出,则鼠标悬停功能并不总是运行 - 尽管如果你将鼠标悬停在它上面它可以正常工作元素的速度更慢。
$(".myElement").hover(
function () {
$(this).fadeIn(250);
},
function () {
$(this).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly
}
);
问题似乎是当光标快速移动元素时,页面没有注册它首先在元素上面。
答案 0 :(得分:0)
使用stop();
试试这个
$(".myElement").hover(
function () {
$(this).stop(true, true).fadeIn(250);
},
function () {
$(this).stop(true, true).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly
} );