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>


相关文章
|
6天前
|
JavaScript 前端开发
页面滚动触发css3动画js插件
delighters.js是一款页面滚动触发css3动画js插件。该js插件可以在页面向下滚动时,为进入浏览器视口的元素制作各种炫酷的CSS3动画效果。
33 13
|
15天前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
32 3
|
15天前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
51 2
|
25天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
51 7
|
25天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
32 6
|
25天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
37 5
|
1月前
CSS3制作的聚光灯下倒影文字选装动画特效源码
CSS3聚光灯下倒影文字特效是一段基于CSS3实现的聚光灯下带倒影的文字旋转动画效果代码,具有真实的视觉感,同时文字还会在旋转过程中显示出灯光的反射效果,很有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
30 6
|
1月前
纯css3发光霓虹灯文字闪烁特效代码
纯css3发光霓虹灯文字闪烁特效代码是一款彩色的店铺名称文字动画特效。
36 6
|
1月前
jQuery+CSS3模拟过山车动态的文字动画特效源码
jQuery+CSS3模拟过山车动态的文字动画特效源码实现在全黑的背景下,画面中的文本呈现过山车的轨迹动画上下滚动转圈,且伴随文本颜色渐变效果,非常有意思,欢迎对此特效感兴趣的朋友前来下载参考。
23 1
|
1月前
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
优化CSS和JavaScript加载