跳转到内容

跑马灯 marquee

布局组件。三层同源:无头内核给出解剖与状态机,Vue 组件与自定义元素只是它的两层外壳,行为完全一致。

示例

基础用法

窗口只露出一段,轨道在里面往左走;滚动整段在皮肤的 @keyframes 里,用的人不写动画

系统将于本周六 02:00 起停机维护两小时新版导出支持按列脱敏本月账单已生成

方向

四档:左右走横轴,上下走纵轴。轴另落成 data-orientation,竖着滚的窗口靠 --xh-marquee-block-size 定高

left

第 1 条公告 第 2 条公告 第 3 条公告 第 4 条公告 第 5 条公告 第 6 条公告

right

第 1 条公告 第 2 条公告 第 3 条公告 第 4 条公告 第 5 条公告 第 6 条公告

up

第 1 条公告 第 2 条公告 第 3 条公告 第 4 条公告 第 5 条公告 第 6 条公告

down

第 1 条公告 第 2 条公告 第 3 条公告 第 4 条公告 第 5 条公告 第 6 条公告

重复铺满

autoFill 在轨道里铺两份内容,走完一份第二份正好压在起点上,看不出接缝;不开则整段走完再回来

不开:整段走出窗口后再从另一侧进来

多租户字段级脱敏动态 API工作流代码生成

autoFill:一圈只走一份,接缝处始终有内容

多租户字段级脱敏动态 API工作流代码生成

速度与暂停

speed 是每秒像素;pauseOnHover 在指针停下或焦点落进窗口时停住

产物

自定义元素<xh-marquee>
Vue 组件XhMarqueeContent XhMarqueeRoot
状态机无,connect 直接由 props 算属性
皮肤@xihan-ui/styles/marquee.css

解剖

部件名即 data-part 属性值,也是皮肤的选择器。加粗的是必备部件,不渲染它组件不工作(Web Components 适配器会在诊断通道上报 wc.missing-part)。

data-scope="marquee"root · content

Props

属性类型必填说明
autoFillboolean内容不足时重复铺满:轨道里铺两份内容,走完一份正好接上第二份。
directionMarqueeDirection滚动方向,缺省 left。
pauseOnHoverboolean指针停在窗口上时暂停;键盘焦点落进窗口时同样暂停。
speednumber每秒滚过的像素数。写成根上的内联变量,皮肤拿一份内容的长度除以它换成一圈的时长。 只收有限正数;其余值不写出,退回皮肤缺省。

connect API

connect 产出的对象。getXxxProps() 铺到对应部件的宿主元素上,其余是可读状态与操作入口。

成员类型说明
copiesnumber轨道里要铺几份内容:autoFill 开是 2,关是 1。
getRootProps() => T['element']
getContentProps() => T['element']

键盘

规格出处:W3C APG

无键盘交互(不接收焦点,或焦点行为完全由原生元素提供)。

Released under The MIT License