通过JavaScript获取文本区域滚动百分比



所以我有一个用JS为Win8构建的拆分视图标记编辑器。左边是一个文本区域字段(上面有一个标题,所以它不是屏幕的全高)。在右边,我有一个div,其中包含markdown预览的输出。此预览窗口是屏幕的全高。当我滚动左侧文本区域时,我希望保持右侧预览面板的同步。通过计算文本区域的滚动百分比,然后将预览div滚动到相同的位置,我可以很容易地做到这一点。

现在我很糟糕,因为我无法计算出文本区域的最大滚动值。我看到的所有在滚动时保持两个元素同步的例子都涉及两个带有溢出集的div。因此,在div上,您可以快速确定实际高度。

有没有办法获得文本区域的最大滚动大小(而不是文本区域的实际大小),这样我就可以计算百分比?我能想到的唯一解决方案是制作一个与文本区域大小完全相同的隐藏div,并将内容输出到该div,然后同步滚动的文本区域,确定百分比,然后将其应用于更大的预览div。我担心这会对我的应用程序的性能产生影响。

您需要element.scrollTop/(element.scrollHeight-element.offsetHeight)*100

最新更新