Tôi cần nhận tọa độ X, Y (liên quan đến đầu/bên trái của tài liệu) cho phần tử DOM. Tôi không thể định vị bất kỳ plugin hoặc thuộc tính hoặc phương thức jQuery nào có thể cung cấp cho chúng tôi. Tôi có thể lấy phần trên cùng và bên trái của phần tử DOM, nhưng điều đó có thể tương ứng với vùng chứa/cha mẹ hiện tại hoặc tài liệu.Tọa độ tài liệu jQuery x y của đối tượng DOM
Trả lời
bạn có thể sử dụng
Dimensions Plugin
[Không dùng nữa ... có trong jQuery 1.3.2+]
bù đắp()
Lấy hiện tại bù đắp của phần tử xuất hiện đầu tiên, tính theo pixel, liên quan đến tài liệu .vị trí()
Gets vị trí hàng đầu và trái của một phần tử liên quan đến bù đắp mẹ.
biết điều này, sau đó nó rất dễ dàng ... (sử dụng ít svg project như một example page của tôi)
var x = $("#wrapper2").offset().left;
var y = $("#wrapper2").offset().top;
console.log('x: ' + x + ' y: ' + y);
đầu ra:
x: 53 y: 177
hy vọng nó sẽ giúp những gì bạn đang tìm kiếm.
đây là một hình ảnh của offset() và vị trí()
sử dụng XRay
sử dụng thanh công cụ Web Developer
Các offset chức năng sẽ làm điều đó cho bạn.
Dưới đây là ví dụ họ đưa ra:
var p = $("p:last");
var offset = p.offset();
p.html("left: " + offset.left + ", top: " + offset.top);
Giải pháp của tôi là một plugin với "cách giải quyết": + D. Nhưng hoạt động!
jQuery.fn.getPos = function(){
var o = this[0];
var left = 0, top = 0, parentNode = null, offsetParent = null;
offsetParent = o.offsetParent;
var original = o;
var el = o;
while (el.parentNode != null) {
el = el.parentNode;
if (el.offsetParent != null) {
var considerScroll = true;
if (window.opera) {
if (el == original.parentNode || el.nodeName == "TR") {
considerScroll = false;
}
}
if (considerScroll) {
if (el.scrollTop && el.scrollTop > 0) {
top -= el.scrollTop;
}
if (el.scrollLeft && el.scrollLeft > 0) {
left -= el.scrollLeft;
}
}
}
if (el == offsetParent) {
left += o.offsetLeft;
if (el.clientLeft && el.nodeName != "TABLE") {
left += el.clientLeft;
}
top += o.offsetTop;
if (el.clientTop && el.nodeName != "TABLE") {
top += el.clientTop;
}
o = el;
if (o.offsetParent == null) {
if (o.offsetLeft) {
left += o.offsetLeft;
}
if (o.offsetTop) {
top += o.offsetTop;
}
}
offsetParent = o.offsetParent;
}
}
return {
left: left,
top: top
};
};
Cách sử dụng:
var p = $("#wrapper2").getPos();
alert("top:"+p.top+"; left:"+p.left);
bạn biết rằng có các khung công tác chỉ vì vậy chúng tôi không cần phải viết lại mã, phải không? – balexandre
khung công tác rất tuyệt vời cho đến khi bạn phải viết một bản người dùng. Hoặc khi bạn muốn viết một bản vá cho jQuery; vẫn còn có lý do để biết javascript. –
- 1. Lấy tọa độ X & Y của một nút trong Android?
- 2. gnuplot: Vẽ X, Y tọa độ và nhãn của họ
- 3. Định vị phần tử DOM theo tọa độ tuyệt đối
- 4. Tính tọa độ mới từ tọa độ cũ và x và y
- 5. Làm thế nào để có được tọa độ x, y của các đối tượng được trích xuất trong javacv?
- 6. Điều khiển bật lên WPF - Tìm tọa độ X, Y
- 7. nhận tọa độ X và Y cho phần tử div
- 8. Chụp x, y Tọa độ với Python PIL
- 9. Các lần chạm trên iOS đến tọa độ xem x/y của thiết bị qua Javascript
- 10. Đối tượng JavaScript DOM đối tượng jQuery
- 11. Nhận tọa độ x, y mới của một điểm trong hình ảnh được xoay
- 12. Dữ liệu lô gnuplot từ hai tệp: trong một tọa độ x, trong các y khác
- 13. để nhận mã zip của Hoa Kỳ từ gis x, y tọa độ
- 14. Chuyển đổi độ dài/vĩ độ thành các tọa độ X/Y
- 15. Chuyển đổi độ dài/vĩ độ thành các tọa độ X/Y
- 16. Lưu trữ các đối tượng để định vị theo toạ độ x, y
- 17. Nhận tọa độ X và Y của một từ trong UITextView
- 18. Đọc tọa độ x y z của điện thoại android bằng gia tốc
- 19. Ràng buộc với tọa độ X Y của phần tử trên Vải WPF
- 20. Phát hiện đối tượng DOM và đối tượng jQuery
- 21. Tính lạ lùng của Ruby: x == y && [x, y] .uniq == [x, y]
- 22. tạo đối tượng JQuery bằng cách truyền đối tượng DOM?
- 23. Đối tượng Flash nhúng có thể truy cập DOM của tài liệu gốc của nó không?
- 24. Theo dõi Android x, y tọa độ vẽ từ Đường dẫn
- 25. jQuery so sánh hai đối tượng DOM?
- 26. Đối tượng jQuery và phần tử DOM
- 27. Nhận UITextField Y tọa độ trên cấp độ UIView?
- 28. Cách xóa phần tử dom khỏi đối tượng jquery
- 29. tọa độ địa lý bản đồ (lat, lng) để ánh xạ (x, y)
- 30. Tìm khoảng cách tối đa giữa các tọa độ (x, y)
Xem: http://docs.jquery.com/Plugins/dimensions "Không dùng nữa: Tính đến jQuery 1.2.6, kích thước cắm đã được sáp nhập vào lõi. Bạn có thể xem tài liệu đầy đủ trong danh mục CSS. " cộng", chỉ là các vị trí tương đối – DMCS
nếu bạn chạy mã đó trên trang đó của dự án bạn có thể xác minh không tương đối nhưng chúng là giá trị tuyệt đối. – balexandre
Có vẻ như họ đã giải quyết được sự cố trong bản phát hành mới hơn của jQuery. Sử dụng 1.3.2 dường như cung cấp cho các tài liệu x, y tọa độ như tôi đã hy vọng. Và tôi đã thử nghiệm điều này trong IE7, FF3 và Safari3 và tất cả chúng dường như hoạt động chính xác – DMCS