简单的 js控制逐步显示文字输出

恶趣味发做,写篇博客压压惊
今天清理chrome书签,忽然就点到了一个关于 知乎五周年的网页,这帮程序员的脑子真有趣,就算是保存一年后再看也仍是以为好有趣,下边是一个截图图片描述javascript

这个网页展现了一个相似ide接口的小窗口,文字逐步输入,而且还伴随一些有点炫的css动画,为我的生成专属数据。固然这个展现还包括了其余一些数据的传输啦,特殊效果(相似触发一个标签的js回调啦),css那个一堆波浪的动画啦等等一些有意思的,这些暂时无论,咱们今天就来看看这个逐步显示的文字是怎么作到的,我首先想到的就是作一个简单的demo
因为没有读过这个网页的源码因此不保证思路相同,因此作法很简单就是:
把一段文字用定时器回显到网页上,
最后有一个一闪一闪的游标,那个是须要单独拿出来的作一个定时器的,下边给出代码参考:css


<!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^html