2009-12-29 99 views
1

我有一个视频播放器页面,希望播放列表div只在鼠标移动时淡入,如果鼠标空闲3秒钟,淡出。 div的类是“fadeobject”,它的ID是“”的视频选取器”JQuery:mousemove淡入/淡出元素

回答

4

假设你的意思是鼠标移动随时随地而不仅仅是在相关<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"); 
} 

每次鼠标移动定时器启动后三个S褪色股利econds和前一个定时器(如果有一个)被取消。

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

编辑:固定函数名称错字和更新的setTimeout参数,使超时调用工作。

+0

没有运气。 (http://pastebin.com/f50026c62显然我不能把代码放在评论中)我错过了什么? 感谢您的帮助。 – Stephen 2009-12-29 10:28:13

+0

代码中存在拼写错误:hide_playerlist vs hide_playlist – 828 2011-05-25 00:47:50

+0

不设置TimeTime需要几毫秒? http://www.w3schools.com/jsref/met_win_settimeout.asp – 2012-07-10 19:35:14

1

我使用这个和它工作得很好:

$(document).ready(function() { 
    $('.elementClass').fadeTo(0, '0.5').hover(function() { 
     $(this).fadeTo(500, 1); 
    }, function() { 
     $(this).fadeTo(350, '0.8'); 
    }); 
});