以百分比计算图像上某点的位置

时间:2016-01-31 07:31:49

标签: css coordinates responsiveness jquery-calculation

我正在以像素为单位计算图像上点的位置,其中oW是原始图像宽度,oH是原始图像高度。

var x = oW * parseInt(document.getElementById('pageX').value - $tagImage.offset().left - 5) / $tagImage.width();

var y = oH * parseInt(document.getElementById('pageY').value - $tagImage.offset().top - 5) / $tagImage.height();

现在,我想以百分比计算相同的位置,以便该点保持响应。 (对不起,我的数学有点弱,所以需要帮助)

1 个答案:

答案 0 :(得分:2)

一旦你有绝对偏移量,你只需要除以总宽度或高度(并乘以100得到它作为百分比)。

以下是一个改编自this answer的例子。



$(".test").click(function(e){
  var offset = $(this).offset();
  alert('x = ' + ((e.pageX - offset.left) / $(this).outerWidth() * 100) + "%" );
  alert('y = ' + ((e.pageY - offset.top) / $(this).outerHeight() * 100) + "%" );
});

.test {
  width: 200px;
  height: 200px;
  background-color: green;
  margin-left: 50px;
  margin-top: 20px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
  </div>
<div>
&#13;
&#13;
&#13;