Jquery mousemove()在没有鼠标移动的情况下被激活

the*_*pot 3 jquery fadeout mousemove

我想尝试像淡入淡出一样google.com(Cept我想淡出文字)

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
  $(document).ready(function() {
    $("html").mousemove(function () {
      $("p").fadeOut("slow");
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

使用该代码,虽然我没有移动鼠标,但我的淡出会自动激活.适用于所有浏览器.有小费吗?

Nic*_*ver 5

由于事件最初触发一次并且mousemove每次移动一个像素时触发,您可以忽略第一个(可能是自动的,取决于浏览器)mousemove事件以获得您想要的效果,如下所示:

$(function() {
  var moveCount = 0;
  $("html").mousemove(function () {
    if(moveCount++ === 0) return; //first run?
    $("p").fadeOut("slow");
    $(this).unbind('mousemove'); //unbind this, no need to stick around
  });
});?
Run Code Online (Sandbox Code Playgroud)

你可以在这里尝试演示,所有我们正在做的是忽略了非常的的第一次点火mousemove事件,在那之后我们做了淡化和取消绑定该处理程序,以便它不为将来运行mousemove点火,只是清理.