Javascript 获取字符中某些元素的滚动位置
假设我有一个Javascript 获取字符中某些元素的滚动位置,javascript,html,Javascript,Html,假设我有一个元素,它包含一个很长的文本(实际用例会更长): 容器呈现了一个垂直滚动条。它是这样呈现的: +---------------------+ | ddddd eeeee fffff |^| | ggggg hhhhh iiiii | | | jjjjj kkkkk lllll ||| | mmmmm nnnnn ooooo ||| | ppppp qqqqq rrrrr | | | sssss ttttt uuuuu |v| +---------------------+ 我想要一个
元素,它包含一个很长的文本(实际用例会更长):
容器
呈现了一个垂直滚动条。它是这样呈现的:
+---------------------+
| ddddd eeeee fffff |^|
| ggggg hhhhh iiiii | |
| jjjjj kkkkk lllll |||
| mmmmm nnnnn ooooo |||
| ppppp qqqqq rrrrr | |
| sssss ttttt uuuuu |v|
+---------------------+
我想要一个函数,告诉我
在哪里滚动。在本例中,最上面的文本是ddddd
,其索引为18('aaaaa bbbbb ccccc ddd…')。indexOf('ddddd')==18
)。因此函数应该返回18
HTMLElement
只告诉我px
中的scrollTop
,而不是多少个字符。我该怎么办
注意事项:
- 如果最上面的文本是部分显示的,它们可以被计算,也可以不被计算。任何行为都是可以接受的
- 您可以假定
仅包含纯文本。您可以假设没有应用像::第一个字母
这样的CSS规则
- 您可能不认为单间距字体用作上述ascii艺术
+---------------------+
| ddddd eeeee fffff |^|
| ggggg hhhhh iiiii | |
| jjjjj kkkkk lllll |||
| mmmmm nnnnn ooooo |||
| ppppp qqqqq rrrrr | |
| sssss ttttt uuuuu |v|
+---------------------+