可以使用CSS的transform
和transition
属性来实现鼠标跟随动画效果,具体步骤如下:
- 在HTML文档中添加一个 div 标签,并指定该标签的 id 属性。
<div id="follow"></div>
- 使用CSS对该标签进行样式定义。
#follow {
position: fixed;
width: 30px;
height: 30px;
border-radius: 50%;
background-color: red;
transition: all 0.3s ease-out;
}
其中,position: fixed
属性可以让该标签固定在屏幕上,width
和height
属性可以指定标签的大小,border-radius
属性可以使边框圆角化,background-color
属性可以设置标签的背景颜色,transition
属性可以指定动画效果的过渡时间和过渡类型。
- 使用JavaScript监听鼠标移动事件,获取鼠标相对于窗口的位置,并将位置赋给标签。
var follow = document.getElementById("follow");
document.addEventListener("mousemove", function(event) {
var x = event.clientX;
var y = event.clientY;
follow.style.left = x + "px";
follow.style.top = y + "px";
});
其中,clientX
和clientY
属性可以获取鼠标相对于视口的水平和垂直位置,style.left
和style.top
属性可以设置标签的水平和垂直位置。
- 使用CSS的
transform
属性对标签进行缩放操作,增强动画效果。
#follow {
...
transform: scale(0.5);
}
#follow:hover {
transform: scale(1);
}
其中,transform: scale(0.5)
属性可以将标签缩小为原来的一半,transform: scale(1)
属性可以将标签恢复为原大小,#follow:hover
伪类可以在鼠标悬停时增强动画效果。
完整代码如下:
<!DOCTYPE html>
<html>
<head>
<title>鼠标跟随动画效果</title>
<style type="text/css">
#follow {
position: fixed;
width: 30px;
height: 30px;
border-radius: 50%;
background-color: red;
transform: scale(0.5);
transition: all 0.3s ease-out;
}
#follow:hover {
transform: scale(1);
}
</style>
</head>
<body>
<div id="follow"></div>
<script type="text/javascript">
var follow = document.getElementById("follow");
document.addEventListener("mousemove", function(event) {
var x = event.clientX;
var y = event.clientY;
follow.style.left = x + "px";
follow.style.top = y + "px";
});
</script>
</body>
</html>