【发布时间】:2019-06-29 17:50:53
【问题描述】:
我的代码的目的是使眼睛瞳孔跟随用户的光标方向。这是我关注的代码:https://codepen.io/J-Roel/pen/wWGNQN,但它是用 jQuery 编写的,所以我将它转换为 vanilla js:
eyeHandler(event) {
let eye = this.$refs.eye
let x = (eye.getBoundingClientRect().left) + (eye.clientWidth / 2)
let y = (eye.getBoundingClientRect().top) + (eye.clientHeight / 2)
let rad = Math.atan2(event.pageX - x, event.pageY - y)
let rot = (rad * (180 / Math.PI) * -1) + 180
eye.style.webkitTransform = 'rotate(' + rot + 'deg)'
eye.style.mozTransform = 'rotate(' + rot + 'deg)'
eye.style.msTransform = 'rotate(' + rot + 'deg)'
eye.style.transform = 'rotate(' + rot + 'deg)'
}
这是我添加事件监听器的地方:
created() {
window.addEventListener('mousemove', this.eyeHandler)
}
但它没有按预期工作:
- 当我将光标向右移动时,瞳孔会非常缓慢地下降。
- 当我向左移动时,它会上升。
猜猜,我把代码转换错了。
【问题讨论】:
标签: javascript jquery vue.js