起点与终点

共 3 章:Overview / Process / Details。初始章节为「Overview」。手机使用各章短标签。

触发方式

滚动阅读区同步章节细线;点击整行文字直达稳定阅读位置。Tab、Enter、空格及方向键可用,线条本身不接收输入。

真实进度

每条细线由该章节实际滚动起点和下一章起点计算;末章以滚动容器底部为终点。反向滚动同步回退,不把章节永久标记为已读。细线位于点击行之外,不可点击、拖动或键盘聚焦。

时序

点击先淡出 140 ms,单次提交滚动位置,再淡入 230 ms,共 370 ms。不高速扫过途经内容。目录演示也写入实际滚动位置,进度线不使用计时模拟。

进入与退出

导航固定在内容层之外;单次提交目标位置,读者看不到中间章节的快速扫过。完成或中断后移除遮罩并恢复内容交互。当前项在目标内容实际可读时更新。

重复操作与打断

最新点击立即替换旧目标,不排队。滚轮、触摸、指针及滚动按键可取消旧转场,内容恢复可操作。暂停或后台冻结转场,继续时接续;离开卡片清理演示并恢复配置起点。手动阅读后停止自动重播,重新进入卡片再演示。

外观

配色 auto,强调色 #2447d8;桌面 14px、手机 13px,字重 350;点击行 44px,细线 1px。章节间隔 28px,水平留白 32px,线间距 7px;示例章节最小高度 480px,顶部留白 24px。

减少动态效果

Tab 聚焦章节,Enter / 空格进入;左右箭头、Home / End 在导航内移动焦点。键盘进入后把焦点交给目标标题。减少动态效果时直接到位,仍可滚动和点击。导航留在内容变换层之外,只有一套章节项,没有品牌区、方块或圆点。

导出与接入

预览、说明、JSON、Motion 参数、离线 HTML 和复刻工程读取同一配置与 DOM 引擎。章节数支持 1–6;临时选择、滚动、焦点和演示时钟不保存。connect 可绑定真实滚动容器或窗口,resolve 对应章节;target 可提供复杂场景的稳定可读落点。传入独立 surface 才对外部内容淡出入,导航须在其外;未传 surface 时直接定位。refresh 用于布局改变。此条目不额外提供图片或视频媒体导出。

默认配置

这些数值来自当前维护的默认配置;编辑器草稿和调整后的导出可以不同。

{
  "schemaVersion": 2,
  "recipeId": "chapter-progress-nav",
  "durationMs": 370,
  "delayMs": 0,
  "easing": [
    0,
    0,
    1,
    1
  ],
  "offsetX": 0,
  "offsetY": 0,
  "scale": 1,
  "loop": false,
  "interruption": "retarget",
  "tracks": [],
  "chapterProgressNav": {
    "sections": [
      {
        "id": "overview",
        "label": "Overview",
        "shortLabel": "Start",
        "title": "A clear beginning.",
        "body": "Give each chapter a useful name. This reading surface is a working example: scroll to see the line follow your position, or choose a chapter above to jump directly to its content.",
        "tone": "dark"
      },
      {
        "id": "process",
        "label": "Process",
        "shortLabel": "Build",
        "title": "Move with intention.",
        "body": "The whole label row is clickable. The thin line underneath only reports real reading progress. It moves backward when you scroll upward, and never acts as a scrubber.",
        "tone": "light"
      },
      {
        "id": "details",
        "label": "Details",
        "shortLabel": "Refine",
        "title": "Keep the reader in control.",
        "body": "A new destination replaces the previous one. Wheel, touch and scrolling keys interrupt the transition. Keyboard focus arrives with the content; reduced motion moves there immediately.",
        "tone": "dark"
      }
    ],
    "initialIndex": 0,
    "theme": "auto",
    "accentColor": "#2447d8",
    "fontSize": 14,
    "mobileFontSize": 13,
    "fontWeight": 350,
    "gap": 28,
    "padding": 32,
    "rowHeight": 44,
    "lineWidth": 1,
    "railGap": 7,
    "sectionHeight": 480,
    "readingOffset": 24,
    "fadeOutMs": 140
  }
}

源码与复用

在编辑器中导出当前配置、离线 HTML 或独立复刻工程,均包含与预览相同的章节导航引擎。通用示例不包含个人作品集的文案、控制器或媒体。

用于自己的项目

进入编辑器运行真实预览并比较调整;本说明页不另造一份近似演示。把导出用于自己的项目后,重新检查内容、输入、焦点与布局。

目录来源标注:原创实现. 可复用独立导航模块,或从编辑器导出当前配置与实现;TuneShape 自有代码采用 MIT 许可,完整编辑器由独立工程维护。