思路:
<pre>
标签会展示其中所有,即预览(包括回车和空格)
同时写 <style>
和 <pre>
标签的 innerHTML
, <style>
写完会生成CSS, <pre>
会展示在 <body>
中。使用 setInterval
实现代码的一个一个输入。
代码高亮
原理:在预览界面中添加代码高亮,即在 <pre>
中将 'div'
替换为 <span style='color:red;'>div</span>
注:只在预览中替换, <style>
中并没有
使用到 prismjs 的库用来是代码高亮 官网
做到左右开弓
将执行不同步骤的代码分别分装在函数内,且函数在本步骤完成后都会调用下一步骤的函数。
每一个命名函数中都会传入一个函数 fn
并且最后都会有函数 fn()
的调用,这样就可以实现函数的连续调用
//调用
xxx(()=>{
end()
})
//书写方式
function xxx(fn){
fn()
}
function yyy(){}
将html转换为Markdown语法
使用到 github-markdown-css 的库
调速问题
由于 setInterval
无法实现调速功能,所以使用 setTimeout
模拟 setInterval
简单理解就是在 setTimeout
里再次使用 setTimeout
调用上一 setTimeout
里的函数
setTimeout(function f(){
setTimeout(f,500)
},500)