所以我遇到了一些jQuery的問題。jQuery遍歷p
基本上,我需要創建一個函數,當它變得對容器來說太大時,會分割一個段落。其中一半將留在目前的集裝箱中,其餘的將下降到下一個。
基本上我想逐行瀏覽文本,測試它的高度和它上面的所有行。有沒有一種方法可以遍歷一段文字?
另外,在調整大小時,我會將此綁定到偵聽器,以便在寬度更改時,內容在每個元素中仍保持相同高度。
我希望一切都有意義!
所以我遇到了一些jQuery的問題。jQuery遍歷p
基本上,我需要創建一個函數,當它變得對容器來說太大時,會分割一個段落。其中一半將留在目前的集裝箱中,其餘的將下降到下一個。
基本上我想逐行瀏覽文本,測試它的高度和它上面的所有行。有沒有一種方法可以遍歷一段文字?
另外,在調整大小時,我會將此綁定到偵聽器,以便在寬度更改時,內容在每個元素中仍保持相同高度。
我希望一切都有意義!
我不認爲你可以通過段落中的「行」,因爲可能看起來像10條線實際上可能只有一條包裝線(沒有實際的換行符)。
例如,您可以將overflow
設置爲在容器上顯示,並檢測溢出發生的時間是height/clientHeight
,然後通過計算單詞或類似物來分割文本。
UPDATE:
這裏是一個演示:http://jsfiddle.net/AQwFM/4/
顯然需要改進,但應該讓你開始。
謝謝,這看起來像我將不得不做的。任何想法,如果這會使內容滯後調整大小/負載? – 2011-04-02 01:43:29
任何'resize'處理程序都會引入不必要的開銷,但它不會超過段落的行數,即使可能也是如此:)您可能需要查看[jQuery throttle](http:/ /benalman.com/projects/jquery-throttle-debounce-plugin/)來減少調整大小的次數。樂於幫助 – Daniel 2011-04-02 01:58:00
增加了一個演示,以便您可以看到演出等。垂直調整最頂端的框,直到內容不能滿足哪一點內容將分成兩半,並在兩個框之間劃分。 – Daniel 2011-04-02 03:20:57
您可以提供更多信息,例如文本如何添加到容器中?這很大程度上可能取決於內容更新的方式和時間。 – whoughton 2011-04-01 01:17:27
這可能會幫助http://stackoverflow.com/questions/783899/how-can-i-count-text-lines-inside-an-dom-element-can-i – Michal 2011-04-01 01:21:51
哎呀,由於某種原因,我沒有得到郵件提醒。 說實話,我還沒有嘗試過任何東西。我的第一個想法是運行for循環,每次添加一個字從(0,i)開始,創建一個「測試」段,我可以找到它的高度。對此有何想法?這會使內容在調整大小方面滯後嗎? 希望有人可能有一個簡單的解決方案之前,我開始擺弄。 – 2011-04-02 01:37:27