我最近为我的网站制作了一个Mootols脚本。使用Fx.Morph,我成功地创造了我的目标。但是,脚本在Internet Explorer 7和8中失败(在9中工作正常,没有费心去检查IE6)。我正在使用mootools 1.2.5。
解决问题,我可以找出以下内容
现在,我通过在Mootools核心的setStyle函数中执行以下操作来“修补”错误:
if((Browser.Engine.trident && value[0] == '-' && (property == 'height' || property == 'width')) || value[0] == 'N')
value='0px';
任何人都有关于此问题的更多信息或遇到类似问题?
答案 0 :(得分:0)
似乎Morph不关心是否要使用无效的属性/值组合调用setStyle,并且setStyle不关心它是否要为指定的属性设置无效值。
考虑到这一点,我的问题来自于我使用的效果。我正在使用类似“Bounce.easeIn”的东西,其元素必须从0px变为160px。然后变形将使用负值调用setStyle。
在我的情况下,将效果设置为“线性”使其按预期工作。
在我看来,Morph应该“了解”它将要执行的操作,并防止使用无效值调用setStyle。当使用不可能的属性/值调用Element.setStyle时,也应抛出错误,而不是让浏览器崩溃/处理问题。我会看看这是否已在1.3中修复,如果没有,则打开一张票。