2015-08-30 136 views
0

我有一個<div>overflow:auto,可變的高度/寬度和一些(較長)的文本(用戶可以向下滾動)。我想要的是檢索div當前可見第一行的前x個字符。獲取div的可見文本

以圖形方式說明的示例:當用戶單擊下面的按鈕時,JavaScript函數應返回「convallis。」。當用戶向下滾動到下一行時,它應該返回「mi aliquam」。

Example

我試過到目前爲止:我張望了一下打了scrollTop()scrollHeight()和閱讀How to know what lines/chars are currently visible in a textarea?JavaScript - Visible Text of a DIV但沒有真正回答我的問題。

回答

0

好吧,我發現這個問題的解決方案:有一個很好的小jQuery插件,它完全符合我的要求:https://www.customd.com/articles/13/checking-if-an-element-is-visible-on-screen-using-jquery

+0

這個插件解決你的問題?你是如何使用它的?你能重現一個簡單的演示,展示你的解決方案嗎?請參閱「[MCVE]」指南的指導,並請在您的問題中發佈代表性代碼片段,以重現原始問題。 –

+0

我還沒有完全集成我的解決方案,但這裏是我打算做的: 1)將字的字符串拆字 2)將每個字包裝在 3)檢查哪個跨度是(「#content」)。children('span')。each(function(){if(this).visible()== true){ return this.innerText; } }) –

+0

請解釋您的問題,而不是在評論(因爲它們是短暫的,經常刪除和修剪)的任何細節。 –

1

你可以嘗試使用:jQuery中可見的選擇,它應該做你想達到什麼目的:

function GetFirstWord() 
{ 
    var allText = $('div').children(":visible").text() 
    var words = allText.split(" "); 
    return words[0]; 
} 

參考:https://api.jquery.com/visible-selector/

+0

不幸的是,這不能按預期工作,結果是空的:https://jsfiddle.net/5xsyp0dq/2/ –