9

とにかく、e.pageXとe.pageYを使用せずに要素を配置することはありますか?

このフィドルをチェックしてください

フィドルは、実際に私が尋ねようとしているものの貧弱な試みですが、視覚的な例の方が良いでしょう。私が知りたいのは、次を使用して参照することにより、DOM 上の任意の要素の X 座標と Y 座標を見つけることは可能ですか?

 document.getElementByID('elementID');

または多分

document.getElementsByTagName('TagName');

編集:私は FIDDLE で Jquery を使用しましたが、JavaScript のみを使用して解決策を考えたいと思います。

4

5 に答える 5

4

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$("#something").click(function(e){
   var parentOffset = $(this).parent().offset(); 
   //or $(this).offset(); if you really just want the current element's offset
   var relX = e.pageX - parentOffset.left;
   var relY = e.pageY - parentOffset.top;
});
</script>

于 2015-09-03T13:57:37.977 に答える
2

ほとんどすべての jquery に関する情報は、http: //youmightnotneedjquery.com/で見つけることができます。

$(el).offset();

と同じ:

var rect = el.getBoundingClientRect();

{
  top: rect.top + document.body.scrollTop,
  left: rect.left + document.body.scrollLeft
}
于 2017-10-16T11:55:25.850 に答える