js实现 打字效果

我们经常看到黑客电影里面,电脑屏幕会自动打字(一个字符接一个字符),找个图片帮你们脑补


作为前端的我们,当然是用我们最最最熟悉的JavaScript来实现啦,直接上代码

function outputSlowly(str){
            var r=str.split(""),
                    div=document.getElementById("container"),
                    s='';
            setTimeout(function(){
                s+=r.shift()
                div.innerHTML=s;
                if(r.length>0){
                    setTimeout(arguments.callee,200)
                }
            },200)

        }
        outputSlowly('你好,这是一个测试用的句子!')

很简单吧,其实就是利用setTimeout(定时器)来挂起代码!


这种技术也可以用到我们平时的需求中,例如要处理一个很大的数组,就可以用到这个技术来把执行过程分片!

这样做的目的主要因为JavaScript是单线程执行代码的,一个需要长时间执行的代码段会阻塞后面代码的执行!!

具体实现你们可以参考上面的例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值