【发布时间】:2014-06-13 20:07:43
【问题描述】:
当鼠标移动时,我想要淡入一个 div。如果鼠标闲置约 3 秒,我希望 div 淡出。
它有效,但有一个小问题。如果在 div 出现后再次移动鼠标几次,然后让鼠标闲置 3 秒,则 div 有时会在它消失后再次淡入。我不知道为什么会发生这种情况以及为什么有时会发生这种情况。
我使用的脚本来自这篇文章的另一个线程:Jquery: how to make something fade out...
我尝试在 setTimeout 函数的末尾重置 time,但没有成功。
这是我的代码:
HTML:
<div class="object">
</div>
CSS:
.object {
display: none;
width: 100px;
height: 100px;
background: red;
}
JavaScript/jQuery:
var timer;
$(document).mousemove(function() {
if (timer) {
clearTimeout(timer);
timer = 0;
}
$('.object').fadeIn(300);
timer = setTimeout(function() {
$('.object').fadeOut(300);
time = 0;
}, 3000);
});
谁能帮帮我? :)
【问题讨论】:
-
它在我这边工作得很好
-
你的fiddle没有发现问题..
-
它似乎只是有时会这样做。
-
谁否决了这个问题?结构很好。
标签: javascript jquery css