使用getPos方法實現 滑鼠動一串圓
阿新 • • 發佈:2018-11-24
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>