我爱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工作?
答案 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很开心......到目前为止。