Skip to content

Commit 6163fd8

Browse files
authoredJul 16, 2019
鼠标跟随事件
鼠标跟随事件
0 parents  commit 6163fd8

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
 

‎README.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
var going = false
2+
var nY = 0 // 实际计算出来
3+
var nX = 0 // 实际计算出来
4+
5+
// container传css选择器
6+
const mousemoveAn = function (sX, sY, container, ratioY = 0.02, ratioX = 0.015) {
7+
if (going) {
8+
return false
9+
}
10+
if (Math.abs(sX - nX) > 2) {
11+
nX += (sX - nX) / 6
12+
} else {
13+
nX = sX
14+
}
15+
16+
if (Math.abs(sY - nY) > 2) {
17+
nY += (sY - nY) / 6
18+
} else {
19+
nY = sY
20+
}
21+
if (container instanceof Array) {
22+
container.forEach(item => {
23+
$(item).css({
24+
'-webkit-transition': 'all 0 linear',
25+
'-moz-transition': 'all 0 linear',
26+
'-o-transition': 'all 0 linear',
27+
'-ms-transition': 'all 0 linear',
28+
'transition': 'all 0 linear',
29+
'-webkit-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
30+
'-moz-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
31+
'-o-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
32+
'-ms-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
33+
'transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)'
34+
})
35+
})
36+
} else {
37+
$(container).css({
38+
'-webkit-transition': 'all 0 linear',
39+
'-moz-transition': 'all 0 linear',
40+
'-o-transition': 'all 0 linear',
41+
'-ms-transition': 'all 0 linear',
42+
'transition': 'all 0 linear',
43+
'-webkit-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
44+
'-moz-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
45+
'-o-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
46+
'-ms-transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)',
47+
'transform': 'perspective(3000px) rotateY(' + (nX * ratioY) + 'deg) rotateX(' + (-nY * ratioX) + 'deg)'
48+
})
49+
}
50+
}
51+
export default mousemoveAn
52+
53+
在调用的地方
54+
$('body').on('mousemove', function (e) {
55+
sX = (e.clientX - win_w / 2)
56+
sY = (e.clientY - win_h / 2)
57+
mousemoveAn(sX, sY, '.role')
58+
/* mousemoveAn(sX, sY, '#banner-wrap', 0.001, 0.01)
59+
mousemoveAn(sX, sY, '.perspective-wrap-kv3', 0.009, 0.015)*/
60+
})

0 commit comments

Comments
 (0)
Please sign in to comment.