文字旅行者:一种文本加载(类似打字机)效果

广告位招租
扫码页面底部二维码联系

我的博客首页会在一段时间后加上一个作品区【未经授权禁止转载】【本文首发于唐霜的博客】域,每个区域都会点缀一点点动效。在 Na【原创不易,请尊重版权】【本文受版权保护】util 的部分,我想实现一个效果,就是本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。在 Nautil 这个单词后面,不断切换【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。 Nautilidae, Nautilu【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。s, Nautil.js 这几个单词,效【版权所有,侵权必究】原创内容,盗版必究。果就像用键盘输入、删除再输入的效果。

【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】

在谷歌搜索了一段时间后,我确信没有一个库【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。能够完完整整的实现这个效果。它们都实现了未经授权,禁止复制转载。【本文首发于唐霜的博客】输入效果,但是没有回删效果。于是,我只能【转载请注明来源】原创内容,盗版必究。自己写一个 js 库来实现这个效果。最终本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】的效果你可以在我的博客首页看到。但是,后【原创内容,转载请注明出处】转载请注明出处:www.tangshuang.net来我觉得,这是一个非常不错的效果,虽然在【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。我的博客上看到的是一个输入的效果,但是实【转载请注明来源】【关注微信公众号:wwwtangshuangnet】际上,对它重新思考,会发现它比这个效果的【转载请注明来源】未经授权,禁止复制转载。想象空间大很多。你可以用它来断句、给视频著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。打字幕、利用文字翻语音接口朗读小说。它像【关注微信公众号:wwwtangshuangnet】【版权所有】唐霜 www.tangshuang.net一个具有生命的灵活工具,因此,我称它为“【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】文字旅行者”(github:TextTraveler)。

本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net

本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net原创内容,盗版必究。

遍历文本怎么才能做到对开发者友好呢?我们未经授权,禁止复制转载。【作者:唐霜】以“视频字幕”来举例,如果你想写一个视频本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】字幕,你会怎样?对于我来说,我想象中的写【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。字幕的方式,就是在剧本中打断点。那么什么转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】样的方式可以让我们打断点呢?我想到了 E【本文受版权保护】著作权归作者所有,禁止商业用途转载。S6 的字符串模板标签。于是,一个字幕效【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】果就出来了:

【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。【本文受版权保护】
`你話三年。${[0,100,1]}三年之後又三年,${[0,100,1]}三年之後又三年!${[0,100,1]}十年都嚟緊頭啦老細!${[0,1000]}`

通过在字符串模板中加入占位符,就可以给字【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】符串打断点了。每个断点的地方加入参数,用本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。以控制该断点前面的文字,将会以怎样的时间本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。或行为出现在字幕中。

转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。【本文首发于唐霜的博客】

如何利用这些参数呢?

【未经授权禁止转载】未经授权,禁止复制转载。

使用标签函数即可。我写了 travelText 这个标签函数,它可以生成一个 text未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net traveler 用以处理每个段落。

【原创不易,请尊重版权】【原创内容,转载请注明出处】【原创不易,请尊重版权】
const traveler = travelText`你話三年。${[0,100,1]}三年之後又三年,${[0,100,1]}三年之後又三年!${[0,100,1]}十年都嚟緊頭啦老細!${[0,1000]}`

接下来所有的事情就交给 traveler本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】 去做。但他实际上只是一个记录者,你可以【转载请注明来源】本文版权归作者所有,未经授权不得转载。通过 on 方法监听他记录的内容,并作出相应的界面【转载请注明来源】【关注微信公众号:wwwtangshuangnet】修改。

转载请注明出处:www.tangshuang.net【版权所有,侵权必究】

而为了更方便的实现我想要的那个效果,我又【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】写了 createTextWriter 函数,它直接在一个 DOM 元素中不断【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】的根据 traveler 的记录情况重写【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。 html 中的文本,从而达到我想要的效【本文受版权保护】未经授权,禁止复制转载。果。

【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】【未经授权禁止转载】

一切的一切都在 github 上。

【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】原创内容,盗版必究。【原创内容,转载请注明出处】

 

【原创不易,请尊重版权】原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。