这是一款可以滚动输出文本的工具,可以用在对话框之类的应用场景中。
支持输入 String、Array、Object 类型的消息。当类型为 String 时,消息将被直接使用。当类型为 Object 时,消息会被序列化后再使用。当类型为 Array 时,将会遍历每一个子元素进行上述操作。
每一个 Object 消息对象包含以下值:
名称 | 类型 | 描述 |
---|---|---|
text | String | 【必选】显示的文本。 |
class | String | 文本的 class 属性。 |
style | Object | 文本的自定义样式。Echo 本身不定义样式,样式需要下游代码实现。 |
pause | Number | 当前文本输出完毕后的停顿时间。( Echo.printSpeed * pause ms ) |
speed | Number | 当前文本的打印速度,即每个打印循环所用时间(ms)。 |
typewrite | String | 模拟打字动作。在输出 text 字段的内容之前先打印此字段的内容,随后被 text 字段的内容替换。 |
ruby | String | 文本顶部注释。 |
event | String | 自定义事件名。 |
data | Object | 自定义数据。 |
消息队列为 Array 类型,每一个数组元素包含以下值:
名称 | 类型 | 描述 |
---|---|---|
message | String / Array / Object | 消息对象。 |
data | Object | 打印启动参数。 |
打印启动参数为 Object 类型,包含以下值:
名称 | 类型 | 描述 |
---|---|---|
printSpeed | Number | 打印速度。 |
customData | Object | 自定义数据。 |
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
$sel | String | 见 #rd。内容为空则不执行 rd() 方法。 |
'' |
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
message | String / Array / Object | 上一条消息。 | '' |
messageBuffer | Array | 消息缓冲区。 | [] |
messageList | Array | 消息队列。 | [] |
dbChrBuffer | String | 中日韩字符缓冲区。 | '' |
timer | Number | 定时器 ID。 | 0 |
groupCount | Number | 分组计数。 | 0 |
groupStack | Array | 分组堆栈。 | [] |
printSpeed | Number | 打印速度。 | 30 |
printSpeedStart | Number | 启动时的打印速度。 | 30 |
printSpeedChange | Number | 打印过程中的打印速度。 | 30 |
state | String | 运行状态。 | 'stop' |
typewrite | String | 打字动作状态。 | 'none' |
ruby | Boolean | 是否正在打印包含注释的内容。 | false |
filter | Object | 过滤器状态开关。 | 见下文。 |
event | Object | 用于绑定事件。 | 略 |
skipOnePrintLoopChar | RegExp | 需要跳过一个打印循环的字符。 | 略 |
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
HTMLFormat | Boolean | HTML 格式化,用于过滤空格、尖括号等可能影响 HTML 渲染的字符,阻止脚本注入。 | true |
快速部署,需要 JQuery 支持,适用于简单的应用场景,仅提供基本功能,不支持自定义样式、动作等高级功能。
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
$sel | String | JQuery 选择器,选择需要输出的元素。 |
退格,触发 backspace
事件。(弃用方法,需要重写)
清空内容,触发 clear
事件。
分组结束,触发 groupEnd
事件。
分组开始,触发 groupStart
事件。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
obj | Object | 产生新分组的序列对象。 |
在消息缓冲区的头部插入自定义序列。当打印遇到自定义序列时触发 customSequence
事件。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
data | Object | 自定义序列数据。 | {} |
afterSpace | Number | 在自定义序列之前占用的打印循环次数。 | 0 |
beforeSpace | Number | 在自定义序列之后占用的打印循环次数。 | 0 |
序列化消息对象。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
msg | String / Array / Object | 消息对象。 |
打印消息队列中的下一条消息,触发 next
事件。
绑定事件。可绑定的事件详见事件列表。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
eventName | String | 事件名称。 | |
action | Function | 函数。 | function() {} |
尝试从消息缓冲区中打印新字符,触发 print
事件。首次打印触发 printStart
事件,最后一次打印结束后触发 printEnd
事件。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
that | String | Echo 对象自己,用于修正定时器 this 问题。 | this |
开始打印新消息,触发 send
事件。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
text | String / Array / Object | 消息对象。 | |
data | Object | 打印启动参数。 | {} |
使用消息队列开始打印新消息,依次触发 sendList
、next
、send
事件。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
messageList | Array | 消息队列。 |
跳过打印过程,立即输出完整内容,触发 skip
事件。(弃用方法,需要重写)
在打印过程中修改打印速度。
参数名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
value | Number | 定时器延时毫秒。 | undefined |
立即停止打印,触发 stop
事件,且不触发其他事件。
打字动作效果结束,触发 typewriteEnd
事件。