我有鼠標光標後的圖像。如何在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 /: - 在一些評論中回答http://stackoverflow.com/questions/7195825/how-to-rotate-image-in-relation-to-mouse-position –