私は次のことをしようとしています:
画面上に正方形の 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) を使用していますか?