使用mootools的滑块标题的脚本在IE7和9中运行正常,但在8中弹出错误。在所有其他浏览器中也可以正常工作。
Line: 2148
Char: 3
Error: Invalid procedure call or argument
Code: 0
URL: (Path to mootools.svn.js)
代码是:
setStyle: function(property, value) {
switch (property) {
case 'opacity':
return this.setOpacity(parseFloat(value));
case 'float':
property = (window.ie) ? 'styleFloat' : 'cssFloat';
}
property = property.camelCase();
switch ($type(value)) {
case 'number':
if (!['zIndex', 'zoom'].contains(property))
value += 'px';
break;
case 'array':
value = 'rgb(' + value.join(',') + ')';
}
this.style[property] = value;
return this;
},
第2148行是:
this.style[property] = value;
我一直在寻找答案,我对JavaScript不是很了解,所以任何帮助都会受到赞赏。
答案 0 :(得分:2)
您使用的是http://code.google.com/p/cnetjavascript/downloads/detail?name=mootools.svn.js&can=2&q=吗?
已弃用,如果您检查对window.ie
的引用的来源,则它看起来像以下代码段。如果你使用它,你应该考虑升级到更新的和支持的javascript框架。
/*
Class: window
Some properties are attached to the window object by the browser detection.
Properties:
window.ie - will be set to true if the current browser is internet explorer (any).
window.ie6 - will be set to true if the current browser is internet explorer 6.
window.ie7 - will be set to true if the current browser is internet explorer 7.
window.khtml - will be set to true if the current browser is Safari/Konqueror.
window.gecko - will be set to true if the current browser is Mozilla/Gecko.
*/
if (window.ActiveXObject) window.ie = window[window.XMLHttpRequest ? 'ie7' : 'ie6'] = true;
else if (document.childNodes && !document.all && !navigator.taintEnabled) window.khtml = true;
else if (document.getBoxObjectFor != null) window.gecko = true;
答案 1 :(得分:1)
如果您在this.style[property] = value
电话后出现异常,则可能是实际问题,其值无效 - 例如width: -5
或'scroll:“none”'或类似情况。
只需调试它,看看它是什么属性和值并将其捕获到上游 - 通常是由于缓和/弹性(例如,高度为Fx.morph,自定义转换为0)。
如果您无法阻止该值无效,请在动画调用周围粘贴try / catch或触发它。