我有一些代码可以在点击和移动时计算对象的位置,但现在我需要找到点击之间的距离 - 例如,对象移动下一个时间点我点击的时间它。我知道它涉及计算斜边,我应该使用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
});
}
});
答案 0 :(得分:0)
无需pow()
。像Math.sqrt(distanceX*distanceX+distanceY*distanceY)
这样的东西应该做。