从滚动位置开始获取文本

时间:2016-09-05 14:58:57

标签: javascript jquery

如何从滚动位置文本区域开始获取文本?

我有一个带垂直滚动条的textarea。我想从滚动位置开始获取文本。我怎么能得到它?

var $textArea = $('textarea');
$('#btn').click(function(){
    var top = textArea.scrollTop();
});

1 个答案:

答案 0 :(得分:0)

你可以分割线条,然后根据你在它们上声明的高度得到它们。

var $textArea = $('textarea');
$('#btn').click(function() {
  var top = $textArea.scrollTop();
  var lines = $textArea.val().split('\n');

  var n = Math.floor(top / 20)
  var currentline = lines[n];
  var textScroll = ""
  for (i = n; i < (lines.length); i++) {
    textScroll += lines[i]+"\n"
  }
  alert(textScroll)
});
textarea {
  line-height: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea rows=5>1
2
3
4
5
6
7
8
9
10
11
12
13</textarea>

<button id="btn">
  CLICK
</button>

https://jsfiddle.net/xx8s6bmw/

相关问题