核心原理:每次鼠标移动,我们获取鼠标的最新坐标,将获取的X,Y坐标作为图片的top,left值。
注意:
代码中有两点需要格外注意:
1.我第一次写完的时候,发现图片不随鼠标的移动而移动,最后才知道是没有添加定位(添加绝对定位是因为绝对定位在文档流中不占位置),img是行内元素,没有top,left值。
2.在给top,left赋值的时候,千万不要忘记加 px
<style>
/* 若不加绝对定位,图片不会随着鼠标走,绝对定位不占位置 */
img{
position: absolute;
}
</style>
</head>
<body>
<img src="./image/angel.gif" alt="">
<script>
var img = document.querySelector('img');
document.addEventListener('mousemove',function(e){
// 获取鼠标的x,y坐标
var x = e.pageX;
var y = e.pageY;
//让鼠标在图片的正中间
img.style.left=x-40 +'px';
img.style.top = y-40 +'px';
});
</script>