【发布时间】:2023-04-09 23:07:01
【问题描述】:
我有一个视频播放器页面,希望播放列表 div 仅在鼠标移动时淡入,并在鼠标空闲 3 秒时淡出。 div的类是“fadeobject”,它的ID是“”video-chooser”
【问题讨论】:
我有一个视频播放器页面,希望播放列表 div 仅在鼠标移动时淡入,并在鼠标空闲 3 秒时淡出。 div的类是“fadeobject”,它的ID是“”video-chooser”
【问题讨论】:
假设您的意思是鼠标移动到任何地方,而不仅仅是在相关的<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");
}
每次鼠标移动时,都会启动一个计时器,在三秒后淡化 div,并取消前一个计时器(如果有的话)。
注意:stop() 在此处严格不是必需的,但在处理多个动画/效果时建议使用。
编辑:修正了函数名称拼写错误并更新了 setTimeout 参数,以便超时调用有效。
【讨论】:
我正在使用它并且效果很好:
$(document).ready(function() {
$('.elementClass').fadeTo(0, '0.5').hover(function() {
$(this).fadeTo(500, 1);
}, function() {
$(this).fadeTo(350, '0.8');
});
});
【讨论】: