**index.html**
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>蝴蝶移动</title>
<link rel="stylesheet" href="./css.css">
</head>
<style>
</style>
<body>
<div id="bee" >
/*需要的图片*/
<img src="hudie.gif" />
</div>
<button onclick="btnclick()">
this is button
</button>
</body>
<script>
methods:{
function btnclick(){
alert('click button')
}
}
var bee = document.getElementById("bee");
document.addEventListener("mousemove", getMouse);
bee.style.position = "absolute"; //css
var beepos = {
x: 0,
y: 0
};
setInterval(followMouse, 50);
var mouse = {
x: 0,
y: 0
}; //mouse.x, mouse.y
var dir = "right";
function getMouse(e) {
mouse.x = e.pageX;
mouse.y = e.pageY;
if (mouse.x > beepos.x) {
dir = "right";
} else {
dir = "left";
}
}
function followMouse() {
//1. find distance X , distance Y
var distX = mouse.x - beepos.x;
var distY = mouse.y - beepos.y;
beepos.x += distX / 5;
beepos.y += distY / 2;
bee.style.left = beepos.x + "px";
bee.style.top = beepos.y + "px";
if (dir == "right") {
bee.setAttribute("class", "right");
} else {
bee.setAttribute("class", "left");
}
}
</script>
</html>
**css.css**
body {
background-color: white;
}
img{
width: 50px;
height: 50px;
}
.left {
-moz-transform: scaleX(-1);
-o-transform: scaleX(-1);
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
filter: FlipH;
-ms-filter: "FlipH";
}
.right {
-moz-transform: scaleX(1);
-o-transform: scaleX(1);
-webkit-transform: scaleX(1);
transform: scaleX(1);
filter: FlipH;
-ms-filter: "FlipH";
}
**hudie.gif**
就会实现图片跟随鼠标的效果了。