html+css+js实现自动敲文字效果
html+css+js实现自动敲文字效果
html+css+js实现自动敲文字效果简介:本文是一个前端案例的讲解,关于如何用html+css+js制作出逐渐显示出文字的效果,这个效果可以帮助大家在新人面前装一波。效果展示效果就是这个样子的,这个文本框里面的内容,不是我输入的,是自己自动慢慢显示到文本框中的。
思路分析这个东西看似很新奇,但是实现的原理还是非常简单的,就是提前把文本写好,写好之后,
html+css+js实现自动敲文字效果
简介:本文是一个前端案例的讲解,关于如何用html+css+js制作出逐渐显示出文字的效果,这个效果可以帮助大家在新人面前装一波。
效果展示
效果就是这个样子的,这个文本框里面的内容,不是我输入的,是自己自动慢慢显示到文本框中的。
思路分析
这个东西看似很新奇,但是实现的原理还是非常简单的,就是提前把文本写好,写好之后,然后设计一个函数,可以慢慢输出字符串的,然后再利用setInterval来运行这个函数,运行过程中设置一个合适的时间间隔就可以了。
具体的函数如下:其实type里面加一个参数更好,这样的话可以,更通用,但是了,之前测试的时候这样写了但是出问题了,挺奇怪的。写高耦合代码也是有好处的,老板不敢随便把你开了。
后面还可以加上音效,打字的音效,这样的话会有一种独特的效果。
代码语言:javascript代码运行次数:0运行复制function type()
{
editor1.focus();
t += text[i];
// cole.log(t)
i ++;
editor1.innerHTML = "<h1>" + t + "</h1>";
if (i >= text.length){
clearInterval(timer)
i = 0;
text="";
}
}
代码部分
代码语言:javascript代码运行次数:0运行复制<html lang="en">
<head>
<meta charset="UTF-8">
<title>开始了</title>
<link rel="stylesheet" type="text/css" href="./css/" />
<style>
body{
padding: 100px 200px;
}
.form-control{
min-height:500px;
margin: 0px;
border-color: skyblue;
}
#editor1 {
height: 500px;
display: inline-block;
}
.music{
display: none;
}
img{
width: 250px;
height: 250px;
}
#btn2{
display: none;
}
#btn{
display: none;
}
.button.red{
margin-left: 90%;
width: 100px;
height: 50px;
box-shadow: 0 1px 2px #8fcaee inset,0 -1px 0 #497897 inset,0 -2px px #8fcaee inset;
background: -webkit-linear-gradient(top,#42a4e0,#2e88c0);
background: -moz-linear-gradient(top,#42a4e0,#2e88c0);
background: linear-gradient(top,#42a4e0,#2e88c0);
}
</style>
<link rel="icon" href="./logo.ico">
<link href="css/">
</head>
<body>
<div id="editparent">
<div><img src="./images/img1.png"></img></div>
<!-- 编辑器控制按钮 -->
<div id='editControls' style='text-align:center; padding:5px;'>
<h1>回望2022年</h1>
</div>
<!-- div负责文本内容的显示-->
<div id="editor1" class='form-control' contenteditable >
<h></h>
</div>
<!-- 打字音效 -->
<audio controls src="/radio/" id="music" class="music">
Your browser does not support the
<code>audio</code> element.
</audio>
</div>
<button id="btn1" type="button" class="button red"><b>开始</b></button>
<script>
// 默认文本聚焦的
var editor1 = document.getElementById("editor1");
editor1.focus();
var i = 0;
var text = ""
var text1 = "#include<stdio.h> int main() { printf(\"Hello World 202\"); return 0;}";
var t = ""
var timer = null;
var btn1 = document.getElementById("btn1");
// 输出字的函数
function type()
{
editor1.focus();
t += text[i];
// cole.log(t)
i ++;
editor1.innerHTML = "<h1>" + t + "</h1>";
if (i >= text.length){
clearInterval(timer)
i = 0;
text="";
}
}
= function(){
cole.log("开始");
editor1.innerHTML = "";
text = text1;
timer = setInterval(type, 170);
let audioPlay = document.getElementById("music").play();
btn1.style.display = "none";
}
</script>
</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:202-09-14,如有侵权请联系 cloudcommunity@tencent 删除ctmltext函数设计 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-19 12:22:29
推荐阅读
留言与评论(共有 20 条评论) |
本站网友 孕妇能吃哪些坚果 | 1分钟前 发表 |
0 -1px 0 #497897 inset | |
本站网友 皮沙发 | 28分钟前 发表 |
none; } .button.red{ margin-left | |
本站网友 央视晚间新闻 | 20分钟前 发表 |
之前测试的时候这样写了但是出问题了 | |
本站网友 北京丰台租房 | 6分钟前 发表 |
-webkit-linear-gradient(top | |
本站网友 桑椹泡酒 | 21分钟前 发表 |
这个文本框里面的内容 | |
本站网友 道指开盘时间 | 12分钟前 发表 |
none; } #btn{ display | |
本站网友 兰考二手房 | 9分钟前 发表 |
500px; display | |
本站网友 山西电子商务 | 2分钟前 发表 |
0 -1px 0 #497897 inset | |
本站网友 低回的意思 | 10分钟前 发表 |
之前测试的时候这样写了但是出问题了 | |
本站网友 定慧寺二手房 | 2分钟前 发表 |
写好之后 | |
本站网友 长沙皮肤专科医院 | 20分钟前 发表 |
#2e88c0); background | |
本站网友 阜阳友好医院 | 15分钟前 发表 |
100px; height | |
本站网友 大港油田二手房 | 4分钟前 发表 |
然后设计一个函数 | |
本站网友 不孕不育症 | 0秒前 发表 |
原始发表:202-09-14 | |
本站网友 北京万科星园 | 0秒前 发表 |
#42a4e0 | |
本站网友 陈菊梅 | 20分钟前 发表 |
center; padding | |
本站网友 池州房产 | 10分钟前 发表 |
运行过程中设置一个合适的时间间隔就可以了 | |
本站网友 thc | 16分钟前 发表 |
分享自作者个人站点/博客 | |
本站网友 歪鼻手术 | 27分钟前 发表 |
50px; box-shadow |