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

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

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

转载请注明出处:www.tangshua【访问 www.tangshuang.net 获取更多精彩内容】【本文首发于唐霜的博客】ng.net【未经授权禁止转载】本文作者:唐霜,转载请注明出处。

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

【访问 www.tangshuang.n【版权所有,侵权必究】转载请注明出处:www.tangshuang.netet 获取更多精彩内容】转载请注明出处:www.tangshua【版权所有,侵权必究】未经授权,禁止复制转载。ng.net

【关注微信公众号:wwwtangshua【作者:唐霜】原创内容,盗版必究。ngnet】未经授权,禁止复制转载。【本文首发于唐霜的博客】原创内容,盗版必究。

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

【作者:唐霜】【本文首发于唐霜的博客】【原创不易,请尊重版权】
`你話三年。${[0,100,1]}三年之後又三年,${[0,100,1]}三年之後又三年!${[0,100,1]}十年都嚟緊頭啦老細!${[0,1000]}`

通过在字符串模板中加入占位符,就可以给字【版权所有,侵权必究】转载请注明出处:www.tangshuang.net符串打断点了。每个断点的地方加入参数,用【原创不易,请尊重版权】【关注微信公众号:wwwtangshuangnet】以控制该断点前面的文字,将会以怎样的时间【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。或行为出现在字幕中。

【未经授权禁止转载】原创内容,盗版必究。【作者:唐霜】

如何利用这些参数呢?

【版权所有】唐霜 www.tangshu未经授权,禁止复制转载。【作者:唐霜】ang.net【版权所有,侵权必究】【本文受版权保护】【转载请注明来源】

使用标签函数即可。我写了 travelText 这个标签函数,它可以生成一个 text【关注微信公众号:wwwtangshuangnet】原创内容,盗版必究。 traveler 用以处理每个段落。

【访问 www.tangshuang.n【转载请注明来源】原创内容,盗版必究。et 获取更多精彩内容】【版权所有,侵权必究】
const traveler = travelText`你話三年。${[0,100,1]}三年之後又三年,${[0,100,1]}三年之後又三年!${[0,100,1]}十年都嚟緊頭啦老細!${[0,1000]}`

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

【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。

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

【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。

一切的一切都在 github 上。

【版权所有,侵权必究】【关注微信公众号:wwwtangshua著作权归作者所有,禁止商业用途转载。【版权所有,侵权必究】ngnet】

 

【原创内容,转载请注明出处】【作者:唐霜】