マウスが容易な方向に入ると判断し、jsは方向を判断します.

1332 ワード





           ,js      


$(function() {
	$("#box").on("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 dirNum=Math.round((((Math.atan2(y,x)*(180/Math.PI))+180)/90)+3)%4;
		/*
			dirNum:0,1,2,3 ---> t r b l
			         
			                    
		*/
		var eventType = e.type;
		var aPos=[{left:0,top:-200},{left:200,top:0},{left:0,top:200},{left:-200,top:0}];
		if(eventType == 'mouseenter'){
			$("#box2").css(aPos[dirNum]).stop(true,true).animate({left:0,top:0},200);
		}else{
			$("#box2").stop(true,true).animate(aPos[dirNum],200);
		}
	});
});







#box1
#box2