1. 程式人生 > >使用getPos方法實現 滑鼠動一串圓

使用getPos方法實現 滑鼠動一串圓

1.首先來n個div

自己隨便設定多少個圓

<body>
   <div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</body>

2.設定css樣式

     div{width: 100px;height: 100px;border-radius: 50%;
position: absolute;background: red;}

3.getPos原始碼

//獲取滑鼠x,y(橫縱座標)
function getPos(ev)
{   //視覺化頁面,離全頁面,頂部和左邊,的top或者left值
	var scrollTop =document.documentElement.scrollTop||document.body.scrollTop;
	var scrollLeft =document.documentElement.scrollLeft||document.body.scrollLeft;
	
    //頁面中滑鼠的x,y值 = 視覺化滑鼠的x,y值 + 視覺化頁面left,top值 
return {x: ev.clientX+scrollLeft, y: ev.clientY +scrollTop}; };

4.js實現原始碼

使用getPos方法獲取當前元素到頁面的距離,在此,是滑鼠到頁面的距離
使用for迴圈,讓每一個div都改變自身的left,和top值,並且保持與前一個div運動軌跡相同。所以滑鼠一動,div就會跟著滑鼠一起動,猶如貪吃蛇一般。

<style>
	document.onmousemove=function(ev){
		var aDiv =document.getElementsByTagName('div');
var oEvent =ev||event; var pos =getPos(oEvent); for(var i =aDiv.length-1;i>0;i--){ aDiv[i].style.left =aDiv[i-1].offsetLeft + 'px'; aDiv[i].style.top =aDiv[i-1].offsetTop + 'px'; } aDiv[0].style.left =pos.x +'px'; aDiv[0].style.top =pos.y +'px'; }; </style>