2009-01-03 19 views
1

我想用jquery創建一個迷你時間軸,並且此時間軸的寬度大於32767 px。當我改變它與jquery $(".timelinecontainer").width(32767);在Opera不會改變它,但在其他瀏覽器它的作品。使用jquery在Opera中將容器寬度更改爲32767以上

你可以給我建議讓它在Opera中工作嗎?

+1

預阿爾法這可能只是一個Opera的bug。我猜測寬度在Opera中被硬編碼爲32767或更少,所以沒有辦法比這更大。也許有一種方法可以向他們提交錯誤。 – 2009-01-03 13:21:31

回答

4

我懷疑Opera保持窗口寬度很短,因此無法處理大於32767的值。您可能應該改變方法並縮放時間軸以適合當前窗口,然後提供縮放功能在它的一部分。我認爲你的界面會看起來更好用這種方式。您似乎在做這件事的方式,用戶將不得不做很多滾動來查看時間軸,並將永遠無法看到它的整體。

3

我確定我會因爲這樣說而發火,但是 - 你可以忽略Opera。

如果你喜歡其他瀏覽器(IE,FF,Safari/Chrome)的外觀,那麼我會說你已經覆蓋了99%的基礎。

當然,您可能要提交一個針對Opera的錯誤。 (儘管我猜它可能是jquery - 它可能有不同的Opera代碼路徑)。如果你可以做一個簡單的HTML頁面來重現這個問題,你會知道的。然後,將其附加到錯誤報告。

+0

很難看出它是如何成爲jQuery的。Javascript沒有不同的int大小,我不知道爲什麼他們會在Opera中檢查寬度,只是爲了讓它與衆不同。不過,你可以看看jQuery代碼,然後看看。 – tvanfosson 2009-01-03 13:43:16

0

這絕對是Opera的一個bug。

巧合的是,我昨天才第一次看到它。在我的情況,我有一個內部容器width:9999em和一個外部容器,使用overflow:hiddenscrollLeft()來創建一個傳送帶。在Opera中,scrollLeft()停止響應該寬度。

文件在Opera中的錯誤:https://bugs.opera.com/wizard/

1

這是一個非常古老的Opera錯誤,由於某些原因他們無法解決。歌劇只在一些地區流行,而且大多數開發者忽略了這個bug。

對此沒有自動化解決方案。作爲一種快速解決方案,您可以在腳本中檢測Web瀏覽器並限制Opera的寬度。作爲一個例子 - 滾動this guitar tab在Opera中結束。

1

我可以確認這確實是當前Opera版本中的一個錯誤。好消息是我們正在修復它(我爲Opera工作,所以我知道那裏正在發生什麼:)),所以在不久的將來,您的腳本應該按照您的預期開始工作。

我實際上建議,如果上述第一個答案的解決方法太難實現,則應該忽略該問題並等待修復該問題的Opera升級。

相關問題