js显示文字输出 基于js实现逐步显示文字输出代码实例
白眉少侠 人气:0今天清理chrome书签,突然就点到了一个关于 知乎五周年的网页,这帮程序员的脑子真有趣,就算是保存一年后再看也还是觉得好有趣,下边是一个截图图片描述
这个网页展示了一个类似ide接口的小窗口,文字逐步输入,并且还伴随一些有点炫的css动画,为个人生成专属数据。当然这个展示还包括了其他一些数据的传输啦,特殊效果(类似触发一个标签的js回调啦),css那个一堆波浪的动画啦等等一些有意思的,这些暂时不管,我们今天就来看看这个逐步显示的文字是怎么做到的,我首先想到的就是做一个简单的demo
由于没有读过这个网页的源码所以不保证思路相同,所以做法很简单就是:
把一段文字用定时器回显到网页上,
最后有一个一闪一闪的游标,那个是需要单独拿出来的做一个定时器的,下边给出代码参考:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>逐个显示</title> <style type="text/css"> #fuck{ visibility:visible; } </style> <body> <div id="content" style="float:left"></div><span id="fuck">|</span> </body> <script type="text/javascript"> window.onload=function(){ //首先要干的就是:先把后边的span初始化好 function toggleSpan(){ var HIDspan=document.getElementById("fuck"); HIDspan.style.visibility=(HIDspan.style.visibility=="visible")?"hidden":"visible"; } setInterval(toggleSpan,500); //开始初始化基础文本 var ocontent=document.getElementById("content"); var str="你猜我们会写几个字,不管我写几个字反正不会超过一行就对了"; var i=0; var flag=null; function done(){ if(i<str.length){ ocontent.innerHTML=str.substring(0,i+1); i=i+1; } else{ clearInterval(flag); } } flag=setInterval(done,200); } </script> </html>
这样一个简单的js控制回显就完成了,是不是超级简单? ^V^
加载全部内容