js模拟打字机效果
通用方法定义
/**
*
* @param {*} text 打字文本
* @param {*} callback 完成打印效果回调
* @param {*} timeout 完成打印效果多久回调
*/
export function textPrinter({ text, change, complete, timeout = 1000 }) {
if (text) {
const len = text.length;
let count = 0;
const interval = setInterval(() => {
count++;
if (count > len) {
// 完成
setTimeout(() => {
complete && complete()
}, timeout)
clearInterval(interval)
} else {
change && change(text.substring(0, count))
}
}, 60)
} else {
// 完成
setTimeout(() => {
complete && complete()
}, timeout)
}
}
方法调用
textPrinter({
text: printText,
change(text) {
if (firstInput) return;
placeholderText.value = text
},
complete() {
count ++;
loopFn()
},
})

浙公网安备 33010602011771号