繁体   English   中英

IE中的参数无效

[英]Invalid argument in IE

我爱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工作?

同样的概率在这里。 观看几次调试器后,我注意到每当错误弹出时,高度模式就会设置为“ -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”值,因此在问题陈述中,如果oh小于2,我会将oh设置为2。 这将强制语句以最低值求值为1。 到目前为止,“ 1px”似乎使TINY在IE中感到高兴。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM