Files
HomeDash/web
HomeDash Bot 3deffc1a77 feat(ui): 极简页支持左右滑动切换分组(触屏/触控板/鼠标拖拽)
需求:极简页的内容框此前只有竖向滚动手势,加入横滑切换"页面"(分组)。

实现(web/navi.js 新增 bindTabSwipe + web/navi.css v89):
 · 契约:.minimal-headings-row > .minimal-section-heading.headings(当前项 .selected),
   切换 = 对该元素派发真实 click(实测有效,不触碰 Dashy 内部状态)。
 · 三种输入:pointer 事件覆盖触屏与鼠标拖拽;wheel 的 deltaX 累积覆盖触控板双指横滑。
 · 判定:|dx| >= 56 且 |dx| > 1.5|dy| 才切换;先判 |dy| > |dx| 则直接让给竖向滚动。
 · 边界:clamp —— 到头不动,给一次轻微回弹提示(prefers-reduced-motion 时改为淡闪)。
 · 动画:纯淡入淡出(不位移),并遵守 prefers-reduced-motion。
 · 防误触:横拖超过 20px 后吞掉紧随的一次 click,避免误开卡片链接。
 · 不抢横滑:手势起点若落在可横向滚动的容器内、或输入框内,直接放行。
 · 可访问性:键盘 ←/→ 也能切换;touch-action 用 pan-y pinch-zoom(保留双指缩放)。
 · 自检:匹配不到标签时在 <html> 上置 data-navi-swipe="unavailable"(不刷控制台)。
2026-09-12 21:54:35 +08:00
..