javascript - JS函数获取元素的第n个字符的滚动量

标签 javascript jquery html css

假设我有一个如下所示的 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/

相关文章:

javascript - 通过比较两个输入字段中的值启用/禁用元素

html - 如何仅使用CSS设置<select>下拉列表的样式?

javascript - 如何使用以下代码淡入点击?

javascript - 如何使用 $.ajax(); laravel 中的函数

javascript - JSON 扩展而不覆盖同名的属性

JavaScript ES6 到基础 JavaScript

javascript - 如何从定义的位置开始逐渐调整滚动上的粘性标题的大小

html - Bootstrap 图像轮播,文本在右边

javascript - 如何在没有 ID 和 Class 的情况下检查 Span 内的文本

javascript - 在柱状图 highcharts 中单独为每个点着色