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