JQuery:mousemove 淡入/淡出元素

Ste*_*hen 2 jquery mousemove

我有一个视频播放器页面,希望播放列表 div 仅在鼠标移动时淡入,并在鼠标空闲 3 秒时淡出。div 的类是“fadeobject”,它的 ID 是“”video-chooser”

cle*_*tus 5

假设您的意思是鼠标移动到任何地方,而不仅仅是在相关<div>应用mousemove()事件处理程序上:

var fadeout = null;
$("html").mousemove(function() {
  $("div.fadeobject").stop().fadeIn("slow");
  if (fadeout != null) {
    clearTimeout(fadeout);
  }
  fadeout = setTimeout(hide_playlist, 3000);
});

function hide_playlist() {
  $("div.fadeobject").stop().fadeOut("slow");
}
Run Code Online (Sandbox Code Playgroud)

每次鼠标移动时,一个计时器会在三秒后开始淡化 div,并且前一个计时器(如果有)被取消。

注:stop()没有严格这里需要但多个动画/特效处理时,建议。

编辑:修复了函数名称拼写错误并更新了 setTimeout 参数,因此超时调用有效。