[英]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.