js实现古诗打字机效果

前言

中秋快到了,又可以吟诗作对,品茶赏月了。那么我来分享一个使用js实现的打字机的展示效果,来显示我们的古诗。

效果图

代码实现

html部分

html 复制代码
<div class="content"></div>

js部分

javascript 复制代码
const text = "床前明月光\n疑似地上霜\n举头望明月\n低头思故乡"
const content = document.querySelector(".content");

var i = 0;
var timer;
(function typing() {
    content.innerHTML += text[i]
    i++
    timer = setTimeout(typing, 100)
    if (i == text.length) {
        clearTimeout(timer);
    }
})()

css部分

css 复制代码
* {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Times New Roman', Times, serif;
    background-color: #000;
    background-size: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    position: relative;
}

.content {
    white-space: break-spaces;
    color: #fff;
    line-height: 30px;
    letter-spacing: 5px;
    font-size: 24px;
    text-shadow: white 0 0 5px;
    background-image: url("./moon.webp");
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
    min-width: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

总结

实际实现代码非常简单,感兴趣的可以自己尝试以下。有问题的地方欢迎评论区指点。

相关推荐
北海-cherish2 小时前
vue中的 watchEffect、watchAsyncEffect、watchPostEffect的区别
前端·javascript·vue.js
2501_915909063 小时前
HTML5 与 HTTPS,页面能力、必要性、常见问题与实战排查
前端·ios·小程序·https·uni-app·iphone·html5
white-persist4 小时前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
新中地GIS开发老师5 小时前
Cesium 军事标绘入门:用 Cesium-Plot-JS 快速实现标绘功能
前端·javascript·arcgis·cesium·gis开发·地理信息科学
Superxpang5 小时前
前端性能优化
前端·javascript·vue.js·性能优化
Rysxt_5 小时前
Element Plus 入门教程:从零开始构建 Vue 3 界面
前端·javascript·vue.js
隐含5 小时前
对于el-table中自定义表头中添加el-popover会弹出两个的解决方案,分别针对固定列和非固定列来隐藏最后一个浮框。
前端·javascript·vue.js
大鱼前端5 小时前
Turbopack vs Webpack vs Vite:前端构建工具三分天下,谁将胜出?
前端·webpack·turbopack
你的人类朋友5 小时前
先用js快速开发,后续引入ts是否是一个好的实践?
前端·javascript·后端