Tôi hiện đang học và làm việc trong JavaScript và SVG và tôi mới làm quen với nó. Đây là kịch bản của tôiThay đổi vị trí chuột khi hộp xem được thêm
Tôi có một div có một SVG bên trong nó.
<div id "O_div">
<svg>
<line x1= "0" x2 = "0" y1 ="0" y2 ="0">
</line>
<svg>
</div>
Bây giờ tôi muốn biết vị trí chuột so với div của tôi vì vậy tôi đã viết mã sau
odiv = document.querySelector('#O_div');
XOffset = $(Odiv).position().left;
YOffset = $(Odiv).position().top;
// And on my mouse move event
$('#O_div').mousemove(function(event) {
var mouseX = event.clientX - XOffset;
var mouseY = event.clientY - YOffset;
// Here I am setting my line x and y coordinate equal mouseX and mouseY
//So that line moves according to mouse move movement.
});
Nó đang làm việc tốt. Nhưng vấn đề nảy sinh khi tôi thêm một chức năng thay đổi kích thước để div của tôi sử dụng truy vấn resizable.To thay đổi kích thước svg tôi thêm một lựa chọn viewBox trong it.Now svg của tôi trông như thế này
<svg viewBox="0 0 450 154" preserveAspectRatio="xMinYMin meet">
</svg>
Nhưng bây giờ phối hợp chuột của tôi không làm việc tốt và dòng của tôi là một chút xa hơn từ con chuột của tôi và nó đi xa hơn từ con chuột của tôi khi tôi tăng kích thước div. Có thể bất kỳ ai vui lòng hướng dẫn tôi làm thế nào để tôi có để tính toán vị trí bù đắp của tôi Khi tôi có một tùy chọn viewbox trong svg của tôi.
Cảm ơn mọi trợ giúp và hướng dẫn sẽ được đánh giá cao.