假设我有一个如下所示的 html 元素:
<p id="targetElement">There is a long sentence here.
The sentence is so long that it overflows from the element.</p>
使用CSS:
#targetElement{
width:50px;
height:50px;
overflow-y:auto;
}
现在,#targetElement 标签内的句子将不适合(希望它足够长,但即使不是,我希望你能明白),因此 #targetElement 上将会有一个滚动条。
说了这么多,这就是我想要的。 我想要一个 javascript 函数,当我输入要滚动到的第 n 个字符时,它可以提供滚动量(jQuery 中的 scrollTop() 量)。
它会是这样的:
function scrollToChar(charIndex){
//some how get scrollTop() to nth character like this
var scroll=$("#targetElement").nth-char(charIndex).scrollTop();
return scroll;
}
最佳答案
假设您正在查找第 n 个字符的像素偏移量(然后可以使用该偏移量将元素滚动到该位置),这是一个解决方案: fiddle .
它的工作原理是临时插入 <span>
围绕第 n 个字符,并使用 jQuery 查找 <span>
相对于其父级的位置。请注意#targetElement
需要对其进行定位才能正常工作。
此解决方案基于此处的答案:https://stackoverflow.com/a/7913678/5306129
关于javascript - JS函数获取元素的第n个字符的滚动量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39427612/