判断鼠标从什么方向进入一个容器

html代码

<div id="wrap">
	 方向反馈
</div>

js代码(基于jquery)

$("#wrap").bind("mouseenter mouseleave",
function(e) {
	var w = $(this).width();
	var h = $(this).height();
	var x = (e.pageX - this.offsetLeft - (w / 2)) * (w > h ? (h / w) : 1);
	var y = (e.pageY - this.offsetTop - (h / 2)) * (h > w ? (w / h) : 1);
	var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;   //direction的值为“0,1,2,3”分别对应着“上,右,下,左”
	var eventType = e.type;
	var dirName = new Array('上方','右侧','下方','左侧');
	if(e.type == 'mouseenter'){
		$(this).html(dirName[direction]+'进入');
	}else{
		$(this).html(dirName[direction]+'离开');
	}
});


你可能感兴趣的:(hoverdir)