私はマウスのカーソルに従っている画像を持っています。JavaScriptでカーソルに続く画像をどのように回転させるのですか?
HTML:
<img id="cow" src="https://icons.iconarchive.com/icons/gakuseisean/ivista-2/128/Alarm-Arrow-Right-icon.png" height="30px" width="30px" style="position: absolute; top: 50%; left: 50%;"/>
Javascriptを:
var mouseXY = {};
$(document).on("mousemove", function(event) {
mouseXY.X = event.pageX;
mouseXY.Y = event.pageY;
});
var iCow = $("#cow");
var cowInterval = setInterval(function()
{
var cowXY = iCow.position();
var diffX = cowXY.left - mouseXY.X;
var diffY = cowXY.top - mouseXY.Y;
var newX = cowXY.left - diffX/1000;
var newY = cowXY.top - diffY/1000;
iCow.css({left: newX, top: newY});
}, 10);
がどのように私は、カーソルの方向に画像を回転させることができますか?
私はtransform: rotate()
でそれを行うことを試みた:
var cowInterval = setInterval(function()
{
var cowXY = iCow.position();
var diffX = cowXY.left - mouseXY.X;
var diffY = cowXY.top - mouseXY.Y;
var newX = cowXY.left - diffX/1000;
var newY = cowXY.top - diffY/1000;
var tan = diffX/diffY;
var atan = Math.atan(tan);
iCow.css({left: newX, top: newY, transform: "rotate(" +((-1)*atan - Math.PI/2)+ "rad)"});
}, 10);
が、失敗した
私はこの問題は、get '位置()'であると思います。移動しなくても、位置の値は変換回転だけで変化し続けます。コンソールログが表示されます。 https://jsfiddle.net/q9kn8ady/4/ – cjmling
は問題ではないかもしれないコメントや本当の原因が、とにかく画像回転のために上に私は、より正確な回転であると思われるこのフィドルを見つけました。 http://jsfiddle.net/22Feh/556/ここからhttp://stackoverflow.com/questions/7195825/how-to-rotate-image-in-relation-to-mouse-position – cjmling
ます。http:// jsfiddle。ネット/ 22Feh/5 /: - uはしようとすると、http://stackoverflow.com/questions/7195825/how-to-rotate-image-in-relation-to-mouse-position –