0

我有一些代码可以计算对象在单击和移动时的位置,但现在我需要找到单击之间的距离——例如,下次单击对象时该对象移动了多远。我知道它涉及计算斜边,我应该使用 Math.pow() 来求平方,使用 sqrt() 来获取斜边,但我找不到一个很好的例子或让它工作。感谢您的帮助,这是我引用的代码。

$(document).ready(function () {
     var i = true;
     var clickedImage;
     var initialX;
     var initialY;
     $('.square').click(function (e){
         initialX = e.pageX;
         initialY = e.pageY;
         clickedImage = this;
     });
     $(document).on('click', function () {

         $(this)[i ? 'on' : 'off']('mousemove', follow);
         i = !i;
     });

     function follow(e) {
         var xPos = e.pageX;
         var yPos = e.pageY;

         var distanceX = xPos - initialX;
         var distanceY = yPos - initialY;

         $("#squarelocation").html("The square is at: " + xPos + ", " + yPos + "pixels");
         $('#squaredistance').html("Distance from origin: " + distanceX + ", " + distanceY);
         $(clickedImage).offset({
             left: e.pageX,
             top: e.pageY
         });

     }
 });

http://jsfiddle.net/FW9jV/1/

4

1 回答 1

0

不需要pow()Math.sqrt(distanceX*distanceX+distanceY*distanceY)应该做的事情。

于 2014-03-21T18:48:24.293 回答