# deck-api · 播放器 API > 实现:`lib/player/deck.js`。规则见 `.claude/rules/player.md`。 ## 页面接入 ```html ``` ## window.SCREEN_TIMELINES - 键 = 屏的 `data-tl` 属性值;值为 `function(ctx) -> gsap.timeline`。 - `ctx`:`{ el, q(sel), qAll(sel), count(sel, to, opts) }`。 - `q/qAll` 只在屏内查询。 - `count` 数字滚动,返回 gsap tween,`tl.add(ctx.count(...), pos)` 使用;`opts: {to, duration, ease, dec, sep}`。 ## window.deck API | 方法 | 说明 | |---|---| | `deck.init()` | 初始化:收集 `.screen`、建导航、绑键盘。页面必须在 SCREEN_TIMELINES 定义后调用 | | `deck.init({ mode:'shell', planEl, planUrl })` | 总控容器模式(见下「总控容器模式」) | | `deck.next()` / `deck.prev()` | 下一屏 / 上一屏(门控) | | `deck.jump(i)` | 跳第 i 屏 | | `deck.nextChapter()` / `deck.prevChapter()` | 下一章 / 上一章(读 deck-config 的 next/prev) | | `deck.goFile(file, dir)` | 跳指定章节文件 | | `deck.showPage(i)` / `deck.loadPage(i)` | 总控模式:切到第 i 页 / 预加载第 i 页(iframe) | ## 屏与门控 - 屏:`
`。无 `data-tl` 的屏 = 无动画屏,↓ 即切。 - 视频门控:屏内 `