这可能是一个简单的解决方案,但我无法在任何地方找到任何东西。
在我的代码中我正在做:
$('#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”的东西,导致更新函数失败。我是否错误地将某些内容传递给animate对象,或者这是JQuery的问题?
答案 0 :(得分:0)
原因是因为“animate”不适用于非数字值,例如'-320px'。通过'-320'而不是很好。