通过JavaScript获取Textarea滚动百分比

时间:2012-10-04 02:17:41

标签: javascript html forms

所以我有一个拆分视图降价编辑器,我在JS for Win8中构建。在左侧是一个textarea字段(标题高于它,因此它不是屏幕的整个高度)。在右边我有一个div包含markdown预览的输出。此预览窗口是屏幕的完整高度。当我滚动左侧textarea时,我希望保持右侧预览面板同步。我可以通过计算textarea的滚动百分比然后将预览div滚动到相同位置来轻松完成此操作。

现在我很难知道我无法弄清楚textarea的最大滚动值。我滚动时所有用于保持两个元素同步的示例涉及两个带溢出设置的div。所以在div上你可以快速确定实际高度。

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

1 个答案:

答案 0 :(得分:2)

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