如何获得鼠标位置 – 相对于元素
我想获得相对于光标所在元素的鼠标位置。
以下代码捕获鼠标相对于页面的位置。
$( "div" ).mousemove(function( event ) { var pageCoords = "( " + event.pageX + ", " + event.pageY + " )"; var clientCoords = "( " + event.clientX + ", " + event.clientY + " )"; $( "span:first" ).text( "( event.pageX, event.pageY ) : " + pageCoords ); $( "span:last" ).text( "( event.clientX, event.clientY ) : " + clientCoords ); });
http://api.jquery.com/mousemove/
试试这个JSFiddle
您需要包含.js文件才能使用此代码: Jquery-2.1.1.js
对于相对鼠标位置,代码在这里:
var x,y; $("#div1").mousemove(function(event) { var offset = $(this).offset(); x = event.pageX- offset.left; y = event.pageY- offset.top; $("#div1").html("(X: "+x+", Y: "+y+")"); });
HTML http://jsfiddle.net/1gzdkg9p/
jQuery的
jQuery(function($) { var currentMousePos = { x: -1, y: -1 }; $(document).mousemove(function(event) { currentMousePos.x = event.pageX; currentMousePos.y = event.pageY; $("#result").html("X: "+currentMousePos.x+" Y : "+currentMousePos.y); }); });
看看这个小提琴 。 将post
您必须获取鼠标的坐标,然后减去元素的偏移量以获得相对值。
HTML:
JS:
$(document).on('mousemove','.test', function(e){ var offset = $(this).offset(); var relativeX = e.pageX - offset.left; var relativeY = e.pageY - offset.top; var wide = $(this).width(); var tall = $(this).height(); var percentX = (relativeX*100)/wide; var percentY = (relativeY*100)/tall; console.log(percentX+", "+percentY); });
CSS:
.test{ background-color: #000000; width: 50%; height: 50px; margin-left: 40px; margin-top: 20px; }