我将为您翻译以下内容:
我想要做以下事情:
在屏幕上创建一个正方形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)吗?