簡體   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