用斜边计算点击之间的距离

时间:2014-03-21 18:42:01

标签: hypotenuse

我有一些代码可以在点击和移动时计算对象的位置,但现在我需要找到点击之间的距离 - 例如,对象移动下一个时间点我点击的时间它。我知道它涉及计算斜边,我应该使用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/

1 个答案:

答案 0 :(得分:0)

无需pow()。像Math.sqrt(distanceX*distanceX+distanceY*distanceY)这样的东西应该做。