2010-09-29 64 views
9

我在一個絕對定位的div內使用了一個帶有類滾動窗格(高度100%)的div。滾動窗格div首先包含一些文本,然後是一個圖像,然後是一些文本。圖像高度設置爲200px。 問題是!如果我在Chrome瀏覽器中查看滾動窗格(最新版本),我有時可以滾動整個內容,有時在瀏覽器中刷新網站後,不會。並不意味着我只能看到第二個文本的一部分,而不是更多。所以實際的滾動高度會縮小。如果我再次刷新,我可能會看到它再次完成,等等。每次刷新瀏覽器時它都會更改。它只發生在Chrome中。jScrollPane 2.0在鉻中的高度問題

任何想法我可以做些什麼來避免這種行爲?謝謝.....

更新 它確實與進口(js和css)如何排列在標題中有關。你是對的,CSS必須在jscrollPane js之前導入,但這也意味着圖像高度需要來自其中一個CSS樣式表。您無法在標記中的圖片標記中定義高度。我的解決方案是創建一個類,例如我的樣式表中的img200(表示高度爲200px),並且製作了這個技巧。 所以再次需要做些什麼才能使其在Chrome或更好的webkit瀏覽器中工作: 在樣式表中設置圖像高度級別,以查看在scrollPane中使用的圖像。 包含您的樣式表之前!!!!! javascript for jScrollPane。 將特殊高度級別添加到您包含到jScrollPane中的所有圖片 就是這樣。再次感謝您的快速回答。很酷。

最終解決方案更新!!!!!!!!!
如果您在jScrollPane區域中有圖片,您必須確保以下內容能夠在Chrome或Safari等瀏覽器中全部顯示。否則會引起高度問題,只有部分內容可見。
這是你必須做的:
確保排隊你的CSS樣式表和JScrollPane的JavaScript文件是正確的。 jScrollPane JavaScript文件需要遵循你的CSS樣式表,而不是相反!此外,您還必須爲jScrollPane區域中包含的每個圖像添加一個高度。你可以通過創建一個css類來做到這一點,或者你可以直接添加維度作爲屬性在你的html標記中的img。
如果你記住它會做到這一點。

+0

謝謝sooo多!這正是我正在尋找的!很好的答案!這很長時間以來困擾着我。只是永遠不要解決問題。 '圖片'樣式...:|那麼我現在要製作一個jQuery來抓取任何圖像的所有樣式,並將它們分別添加到每個img'樣式'屬性中。 CIAO – 2011-04-04 20:43:31

回答

5

你還在Safari中測試過嗎?這聽起來像當JavaScript在文檔的頭部CSS包括前發生WebKit的問題: http://jscrollpane.kelvinluck.com/faqs.html#webkit-broken

如果不是原因,那這可能是相關的事實,你有什麼圖像在你的scrollpane中。您需要包含圖像的寬度和高度(請參閱http://jscrollpane.kelvinluck.com/image2.html)或autoReinitialise窗格(請參閱http://jscrollpane.kelvinluck.com/image.html)。

希望它能幫助:)

+0

嗨,我對這個快速的幫助印象非常深刻,因爲那是我第一個問題。其實你是對的,我發現我發佈了我的問題後。 – markimark 2010-09-29 11:00:45

+0

我喜歡autoReinitialize選項,但我不得不遠離它,因爲它使我的整個scrollTo轉換非常不穩定。我無法找到解決這個問題的方法。 – markimark 2010-09-29 11:17:32

+0

只有在IE瀏覽器(與IE8一起工作)中搖搖欲墜。也許有人也得到了解決方案。 – markimark 2010-09-29 11:18:26

1

如果您有JScrollPane的DIV區域內的圖像,簡單地定義它的寬度和高度。

<div class="scroll-pane"> 
<img src="image.jpg" alt="" width="300" height="50" /> 
</div> 

這將修復jScrollPane的webkit錯誤。哦,當然加載CSS JS

2

之前給呼叫$(window).load到JScrollPane的,而不是$(document).ready

2

我還發現,添加CSS規則.scroll-窗格的line-height解決了我的身高問題。

例如:

.scroll-pane {line-height: 1;} 

或您的內容可能需要的任何行的高度。

我還發現,如果您使用@ font-face,jscrollpane可能會在您的字體正確加載之前進行高度計算,因此會計算錯誤。我解決了這個問題通過增加設置:

autoReinitialise: true 

它運行在一個計時器,但這樣使用若有所思。