我正在尝试使用scrollTop突出显示TextArea中的搜索文本。 我找到了下面的逻辑,它用于突出显示带范围的文本但是scrollTop高度的计算没有达到匹配的文本位置。
//findIndex--Position of matched word in TextArea
//res -- search result.
//data --- TextArea data
//dataLength -- Total length of TextArea content.
var taElement = document.getElementById("textareasource");
taElement.focus();
taElement.setSelectionRange(findIndex, res.length + findIndex);
var sh = taElement.scrollHeight;
var patt = new RegExp("</p>", "g");
var newLineCount = data.match(patt).length;
var line_ht = 15; //line hight of content.
var n_lines = sh / line_ht-newLineCount;
var char_in_line = dataLength / n_lines;
var height = Math.abs(Math.floor(findIndex / char_in_line));
taElement.scrollTop = height * line_ht;
&#13;