IE中的参数无效

时间:2010-03-01 02:06:28

标签: javascript

我爱IE:)

好的,所以我已经下载了一个名为TinySlidshow(http://www.leigeber.com/2008/12/javascript-slideshow/)的脚本在FF中完美运行然后我尝试了IE并且繁荣在160上得到了无效的参数错误。

这是第160行压缩,默认情况下它是什么样的。

if(oh==h){clearInterval(e.si)}else{if(oh!=h){e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'}}

我把它分解了所以我能找到它到底是什么,它归结为这一行:

e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'

上面的行是相当多的添加/分割和乘以一条线所以我打破了这一点所以我的ocde看起来有点像这样:

e.style.height = new_hight + 'px'

但它仍然给我上面的错误。我尝试在结尾处放置一个分号,它也不起作用......

目前脚本位于此处:

http://www.romarkdesign.com.au/portfolio2.html

我需要改变什么才能使IE工作?

1 个答案:

答案 0 :(得分:1)

同样的问题。看了几遍调试器之后,我注意到每当错误弹出时高度的模式设置为'-1px'。

我可能已经修好了......但它 IE,尽管我的意图很好,却容易飞出手柄。

你需要添加“if(oh< 2){oh = 2};”在if(oh!= h)语句的开始括号之后。

变化:

    if(oh==h){clearInterval(e.si)}else{if(oh!=h){e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'}}

为:

    if(oh==h){clearInterval(e.si)}else{if(oh!=h){if(oh<2){oh=2};e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'}}

这里的理论是TINY不喜欢负的'px'值,所以如果它小于2进入问题陈述,我将oh设置为2。这会强制语句在其最低值处评估为1。 “1px”似乎让IE中的TINY很开心......到目前为止。