如何实现JavaScript Markdown编辑器在双屏上的同步滚动功能?

更新于
2026-09-25 01:52:00
0阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2117个文字,预计阅读时间需要9分钟。

如何实现JavaScript Markdown编辑器在双屏上的同步滚动功能?

目录 + 前言 + 百分比滚动 + 双屏同时显示占用面积大的元素 + 添加一个索引 + 前言 + 因直接使用 markdown 编辑器 + 技术文章写作,对编写体验非常敏感。我发现了各大社区中的 markdown 编辑器。

目录
  • 前言
  • 百分比滚动
  • 双屏同时渲染占用面积大的元素
  • 赋上一个索引
    • 踩坑

前言

由于一直在使用 markdown 编辑器写技术文章,所以对于编写体验很敏感。我发现各大社区的 markdown 编辑器基本都有同步滚动功能。只不过有些做得好,有些做得马马虎虎。出于好奇,我就打算自己亲自实现一下这个功能。

思考了一段时间,最后想出来了三种方案:

  • 百分比滚动
  • 双屏同时渲染占用面积大的元素
  • 每一行的元素都赋上一个索引,根据索引来精确同步每一行的滚动高度

百分比滚动

假设现在正在滚动 a 屏,那 a 屏的滚动百分比计算方式为:a 屏的滚动高度 / a 屏的内容总高度,用代码表示a.scrollTop / a.scrollHeight

阅读全文

本文共计2117个文字,预计阅读时间需要9分钟。

如何实现JavaScript Markdown编辑器在双屏上的同步滚动功能?

目录 + 前言 + 百分比滚动 + 双屏同时显示占用面积大的元素 + 添加一个索引 + 前言 + 因直接使用 markdown 编辑器 + 技术文章写作,对编写体验非常敏感。我发现了各大社区中的 markdown 编辑器。

目录
  • 前言
  • 百分比滚动
  • 双屏同时渲染占用面积大的元素
  • 赋上一个索引
    • 踩坑

前言

由于一直在使用 markdown 编辑器写技术文章,所以对于编写体验很敏感。我发现各大社区的 markdown 编辑器基本都有同步滚动功能。只不过有些做得好,有些做得马马虎虎。出于好奇,我就打算自己亲自实现一下这个功能。

思考了一段时间,最后想出来了三种方案:

  • 百分比滚动
  • 双屏同时渲染占用面积大的元素
  • 每一行的元素都赋上一个索引,根据索引来精确同步每一行的滚动高度

百分比滚动

假设现在正在滚动 a 屏,那 a 屏的滚动百分比计算方式为:a 屏的滚动高度 / a 屏的内容总高度,用代码表示a.scrollTop / a.scrollHeight

阅读全文