Files
aurora-admin/site/end-content/pagetransition.html.json

95 lines
3.9 KiB
JSON

{
"slug": "pagetransition",
"end": "html",
"curated": true,
"summary": "原生页面过渡:按 data-t 拼过渡类,强制重排后重启 CSS 动画。",
"usage": [
"过渡类型写在按钮的 data-t 上(示例为淡入淡出),点击后拼成 stage.className = \"kole-pt-stage kole-pt-\" + t。",
"重启动画靠强制重排:改完 className 后读一次 void stage.offsetWidth,再 classList.add 同一个类,否则同类型连续点击不会重播。",
"舞台是 .kole-pt-stage,按钮行是 .kole-pt-bar(内部按钮用通用 .kole-btn)。",
"内容切换与动画写在同一个 handler 里:先改 stage.textContent 为新页面文案,再切类名。",
"页面清单是内联数组 pages,索引用 (idx + 1) % pages.length 循环,示例只有三页文案。"
],
"bestPractices": [
"void stage.offsetWidth 是刻意写的强制回流,删掉它会让重复点击同类型过渡时动画不重播。",
"className 整体赋值会清掉舞台上的其他类,若要保留需改成 classList 操作。",
"示例只切文本,真实页面要在过渡结束后换 DOM,注意监听 animationend 而不是靠计时器猜时长。"
],
"a11y": [
"页面内容变化没有 aria-live,读屏不会告知已切到页面 B。",
"过渡动画没有处理 prefers-reduced-motion,前庭敏感用户无法关闭动效。",
"按钮是原生 button,键盘可达,这点没有额外负担。"
],
"apiCarrier": {
"kind": "attrs",
"note": "H5 端靠类名切换驱动动画:.kole-pt-stage 舞台加 .kole-pt-<类型> 触发过渡,类型由按钮的 data-t 提供,重启靠 void stage.offsetWidth 强制重排,全部写在页内一段脚本里。",
"table": [
{
"name": "kole-btn",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:18)。"
},
{
"name": "kole-demo",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:15)。"
},
{
"name": "kole-desc",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:13)。"
},
{
"name": "kole-h2",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:12)。"
},
{
"name": "kole-page",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:11)。"
},
{
"name": "kole-pt",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:16)。"
},
{
"name": "kole-pt-bar",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:17)。"
},
{
"name": "kole-pt-fade",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:22)。"
},
{
"name": "kole-pt-stage",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/PageTransition.html:22)。"
}
]
},
"resources": [
{
"file": "frameworks/PageTransition.html",
"kind": "H5 原生",
"desc": "该端实现(本页 API 与用法的唯一权威来源)。"
},
{
"file": "frameworks/PageTransition.css",
"kind": "样式",
"desc": "该组件的样式文件,类名口径以它为准。"
}
],
"exampleIds": [
"pagetransition-ex-1"
],
"notes": [
"舞台与按钮行见(frameworks/PageTransition.html:16-17)与(frameworks/PageTransition.html:22)。",
"类名拼装与强制重排见(frameworks/PageTransition.html:35-38)。",
"data-t 读取见(frameworks/PageTransition.html:32),按钮监听注册见(frameworks/PageTransition.html:30)。"
]
}