IE无效的参数错误 - 说它是jQuery中的错误,但我不这么认为

时间:2009-11-11 05:37:23

标签: javascript internet-explorer-7 invalid-argument

我在IE7中将无效的参数错误拉出来,也许所有的IE都是......

该网站是:http://www.karencaldwelldesign.com/fashion

IE说这是第12行的错误,但如果我打开脚本调试器,它说问题是jQuery中的一些代码。我不买。

所以,我查看了我的脚本(http://www.caldwellsnyder.com/__data/assets/js_file/0003/5943/kc-gallery.js),第65行似乎是问题所在:

data = '<div id="content'+id+'" class="content">'+data+'</div>';

数据是从jQuery $ .ajax()函数返回的,但我需要用附加的编号div包装它。

特别是它是导致无效参数错误的id变量,但我不明白为什么! var只是一个递增的数字。从该行中删除var可以使页面加载完美,但我确实需要以这种方式增加id。

有没有人知道为什么这个简单的变量会导致IE中的无效参数?

2 个答案:

答案 0 :(得分:2)

不知怎的,你最终试图设置-5px的宽度; IE不喜欢这样。该值来自JScrollPane.js中的$this.css(cssToApply);行,它来自计算变量realPaneWidth

var realPaneWidth = paneWidth - settings.scrollbarWidth - settings.scrollbarMargin - p;

在那里,paneWidthsettings.scrollbarWidth都等于676,settings.scrollbarMargin为5,给你-5(p为零)。

kc-gallery.js中,您似乎在函数scrollbarWidth中为applyScroll初始化jScrollPane,值为676。这是从分配给变量check_images的setInterval函数中调用的,它使我们从设置width-5px的IE实际出错的地方一直支持调用堆栈。

所以这肯定与你使用JScrollPane的方式有关。你可能想查看文档中的任何提示 - 我自己从未使用过这个插件,所以我担心我无法帮助你。但是,scrollbarWidth值为676似乎有点过分...... according to the JScrollPane docs

  

scrollbarWidth [int] - 创建的滚动条的宽度(以像素为单位)(默认为10)

答案 1 :(得分:0)

当您尝试将DOM属性设置为无效值时,您看到的错误来自jQuery。例如,尝试将z-index设置为NaN或字符串。这个IE上的错误,firefox和其他浏览器只是忽略了这个值。

您可以通过将以下行放入IE8中此页面的控制台或使用Jash获取早期版本来查看此示例:jQuery("#header").css("z-index", NaN);

看起来您的变量glob_index在某些时候变得未定义,因此在尝试将DOM节点的z-index设置为此时会出现jQuery错误。