每时每刻都有多少鼠标上下移动

时间:2011-05-28 06:37:20

标签: javascript

如何在浏览器中找到鼠标位置?

我知道e.pageX , e.pageY,但我想知道鼠标是上升还是下降以及它是多少(每时每刻)?但我找不到存储最后一个(pageX,pageY)的方法来将它与new(pageX,pageY)进行比较!

我试图做的事情:

我有一张跟随鼠标的图片。我想知道鼠标上升或下降多少所以我可以改变图片大小(如果鼠标上升5像素,我的图片宽度将改变+10像素,如果鼠标下降5像素,我的图片宽度将是-10个像素)。

1 个答案:

答案 0 :(得分:0)

您可以使用 mousemove事件。在移动时跟踪鼠标坐标。

但是你应该知道mousemove事件将占用大量的处理时间,因为事件将被光标移动的每个像素触发,所以要小心。

在这样的事件中触发一个非常简单快速的功能是个好主意。

我希望这就是你要找的东西

示例:

element.onmousemove = function () {
   // do something simple
};

更新:

用于跟踪,这是一个示例函数

//初始化函数外部的变量以使它们保持其值

var x=0;
var y=0;

function trackMouse(e) {
   var evt = e || window.event;
   if (evt.clientX) { // grab the x-y pos if browser is IE
     var tempX = evt.clientX + document.body.scrollLeft;
     var tempY = evt.clientY + document.body.scrollTop;
   }
   else {  // grab the x-y pos.s if browser is else
     var tempX = evt.pageX;
     var tempY = evt.pageY;
   }  
   if (x > tempX){
      // the mouse is going left
   }else {
      // mouse is going right
   }
   x = tempX; // set new value
   if (y > tempY){
      // the mouse is going down
   }else {
      // mouse is going up
   }
   y = tempY;
}

这将帮助您检测鼠标移动的方向