这可能是一个简单的解决方案,但我无法在任何地方找到任何东西。
在我的代码中,我正在做:
$('#animateObject').animate({
'position': 'absolute',
'height': thisWidgetSettings.detailHeight,
width: thisWidgetSettings.detailWidth,
marginTop: '-120px',
marginLeft: '-320px',
top: $(window).height() / 2 - (parseInt(thisWidgetSettings.detailHeight, 10) / 2) + 120 + $(window).scrollTop(),
left: $(window).width() / 2 - (parseInt(thisWidgetSettings.detailWidth, 10) / 2) + 320 + $(window).scrollLeft()
}, 500);
在 IE9、Safari、Firefox 和 Chrome 中,这一切都很好,并且完全符合我的要求。但是,在 IE7 和 IE8 中,下面的行会导致错误。
// JQuery 1.7.2 Line 8938
this.now = this.start + ( (this.end - this.start) * this.pos );
}
this.update();
我相信这个错误的原因是此时 this.now 被设置,如果传入的值不是数字,this.now 最终会像“absoluteNaN”这样导致更新函数失败。我是否将某些内容错误地传递给动画对象,或者这是 JQuery 的问题?