我正在尝试执行以下操作:
在屏幕上创建一个方形 div,每当光标悬停在它上面时,方形应该水平旋转(rotateY)。
这就是我所做的:http:
//jsbin.com/ujolop/1/edit
HTML:
<div class="a"></div>
CSS:
.a {
width: 200px;
height: 200px;
background-color: green;
}
JavaScript:
var maxRotate = 30; //deg
$('.a').on('mousemove', function(event) {
var $this = $(this),
width = $this.width(),
center = width / 2,
left = $this.position().left,
curRelPosX = event.clientX - left,
percent = (curRelPosX - center) / center,
rotate = percent * maxRotate;
$this.css('transform', 'rotateY(' + rotate + 'deg)');
});
这行不通。它会跳跃,并且大多数时候不会响应光标悬停。
有任何想法吗?
更新
如果我是对的,由于未知原因,这在 Firefox 中运行良好,但在 chrome 中运行不佳。知道为什么吗?我是否使用了正确的事件(mousemove)?