html+css+js实现自动敲文字效果

简介: html+css+js实现自动敲文字效果

html+css+js实现自动敲文字效果

简介:本文是一个前端案例的讲解,关于如何用html+css+js制作出逐渐显示出文字的效果,这个效果可以帮助大家在新人面前装一波。

效果展示

效果就是这个样子的,这个文本框里面的内容,不是我输入的,是自己自动慢慢显示到文本框中的。

思路分析

这个东西看似很新奇,但是实现的原理还是非常简单的,就是提前把文本写好,写好之后,然后设计一个函数,可以慢慢输出字符串的,然后再利用setInterval来运行这个函数,运行过程中设置一个合适的时间间隔就可以了。

具体的函数如下:其实type里面加一个参数更好,这样的话可以,更通用,但是了,之前测试的时候这样写了但是出问题了,挺奇怪的。写高耦合代码也是有好处的,老板不敢随便把你开了。

后面还可以加上音效,打字的音效,这样的话会有一种独特的效果。

function type()
    {
        editor1.focus();
        t += text[i];
        // console.log(t)
        i ++;
        editor1.innerHTML = "<h1>" + t + "</h1>";
        if (i >= text.length){            
            clearInterval(timer)
            i = 0;
            text="";            
        }        
    }

代码部分

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>开始了</title>
    <link rel="stylesheet" type="text/css" href="./css/bootstrap.css" />
    <style>
        body{
            padding: 100px 200px;
        }
        .form-control{
            min-height:500px;
            margin: 30px;
            border-color: skyblue;
        }
        #editor1 {
            height: 500px;
            display: inline-block;
        }
        .music{
            display: none;
        }
        img{
            width: 250px;
            height: 250px;
        }
        #btn2{
            display: none;
        }
        #btn3{
            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 3px #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/buttonStyle.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 >
        <h3></h3>
    </div>
    <!-- 打字音效 -->
    <audio controls src="/radio/radio5.mp3" id="music3" 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&lt;stdio.h&gt; int main() { printf(\"Hello World 2023\"); return 0;}";
    var t = ""
    var timer = null;
    var btn1 =  document.getElementById("btn1");
    // 输出字的函数
    function type()
    {
        editor1.focus();
        t += text[i];
        // console.log(t)
        i ++;
        editor1.innerHTML = "<h1>" + t + "</h1>";
        if (i >= text.length){
            clearInterval(timer)
            i = 0;
            text="";
        }
    }
    btn1.onclick = function(){
        console.log("开始");
        editor1.innerHTML = "";
        text = text1;
        timer = setInterval(type, 170);
        let audioPlay = document.getElementById("music3").play();
        btn1.style.display = "none";  
    }
</script>
</body>
</html>


相关文章
|
11天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]细节与使用经验
本文总结了前端开发中的一些重要细节和技巧,包括CSS选择器、定位、层级、全局属性、滚轮控制、轮播等。作者以纯文字形式记录,便于读者使用<kbd>Ctrl + F</kbd>快速查找相关内容。文章还提供了示例代码,帮助读者更好地理解和应用这些知识点。
34 1
[HTML、CSS]细节与使用经验
|
12天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]知识点
本文涵盖前端知识点扩展、HTML标签(如video、input、canvas)、datalist和details标签的使用方法,以及CSS布局技巧(如margin、overflow: hidden和动态height)。文章旨在分享作者的学习经验和实用技巧。
27 1
[HTML、CSS]知识点
|
7天前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
|
4天前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
30 1
|
8天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
19 3
|
11天前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
25 4
|
10天前
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
34 0
html5+three.js公路开车小游戏源码
|
18天前
|
前端开发
HTML 样式- CSS3
内部样式表适用于单个文件的特别样式,通过&lt;head&gt;部分的&lt;style&gt;标签定义;外部样式表适用于多个页面,通过&lt;link&gt;标签引用外部CSS文件;&lt;style&gt;定义样式,&lt;link&gt;引用资源;已弃用的标签有&lt;font&gt;、&lt;center&gt;、&lt;strike&gt;,属性有color和bgcolor。
|
18天前
HTML 样式- CSS2
HTML样式实例展示了如何使用`font-family`、`color`和`font-size`属性来定义字体样式,以及使用`text-align`属性来设置文本的对齐方式。示例包括标题和段落的样式设置。

热门文章

最新文章

相关实验场景

更多