这个问题取代了我几天前发布的前一个问题。我重写了我的代码,完全删除了 HTML5 Canvas。
我正在努力让 jQueryRotate 与 IE 一起工作。我的代码在 Firefox 和 IE9 中工作,但得到了
'parentNode' is null or not an object - in IE8.
http://jsfiddle.net/otherDewi/pm4Ng/2/
XHair、yHair 定位十字准线,mousemove 函数中的其余代码计算枪的角度。
$wrapper.mousemove(function(e){
xHair=e.pageX-45;
yHair=e.pageY-45;
xGPos = xHair/4+280;
yGPos = yHair/4+200;
difx = xHair-(190+xGPos);
dify = yHair -(185+ yGPos);
radians = Math.atan2(dify,difx);
//rotation = radians+2.36; //rotation in radians
rotation = (((radians*180)/Math.PI)+135); //rotation in degrees
//console.log(rotation);
});
在 jsFiddle 上,如果任何 $gun.rotate 行被注释掉,代码就可以工作
function shotGun(){
//$gun.rotate({angle:rotation});
//$gun.rotate({angle:45});
$gun.css('margin-left', xHair/4+280);
$gun.css('margin-top', yHair/4+200);
}