iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >JS如何实现自动打字机动效
  • 709
分享到

JS如何实现自动打字机动效

2023-07-05 01:07:00 709人浏览 薄情痞子
摘要

这篇文章主要讲解了“js如何实现自动打字机动效”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS如何实现自动打字机动效”吧!1、实现思路 首先这个需求的目的是实现自动打字机效果,意

这篇文章主要讲解了“js如何实现自动打字机动效”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS如何实现自动打字机动效”吧!

1、实现思路 

首先这个需求的目的是实现自动打字机效果,意思就是文字会一个一个出来,而且文字的最终显示提前已经固定,或者是已经获取完成了;

然后就需要每次将文字字符串拆开,每次比上一次多显示一个文字,并且清除掉上一次的显示;每次累加要显示的文字,必定有个累加的过程,这里就需要用到递归显示,而递归的重要点在于阈值停止,所以累加的索引和字符串的长度应该有一个判断,以停止继续执行递归。

2、html布局和CSS样式

本功能并没有复杂的样式显示,所以布局只是用了一个div元素,而为了还原需求,将背景设置为黑底,文字设置为白色,更有一种自动打字机的科技感,代码如下:

<div class="Word"></div> <style>    body {       background: #000;    }    .word {       margin: 100px;       width: 500px;       height: 30px;       padding: 2px 10px;       font-size: 26px;       color: #FFF;       font-weight: bold;    }</style>

3、预定义前置变量 

需要预定义一个最终显示的字符串; 需要定义获取dom的变量;需要定义一个索引变量,用于不但累加计算;需要定义定时打字的变量,用于setTimeout的方法定义,以实现真实打字的场景特效;需要提前定义一个获取字符串长度的变量;需要定义每个阶段显示的字符串的变量;这里共定义了6个变量,代码如下:

var wordStr = '2023年,喜迎新春,玉兔吉祥';var wordDom = document.querySelector('.word'); var num = 0;var wordTimeout = null;var wLength = wordStr.length;var showWord = '';

4、动效过程解析

既然是模拟打字效果,咱们定义的字符串是“2023年,喜迎新春,玉兔吉祥”,所以显示过程肯定是:第一次显示“2”,第二次显示“20”,第三次显示“202”,以此类推,通过上一步预定义的num值累加,最终将字符串全部显示出来,所以第一步代码应该是:

showWord += wordStr.charAt(num);wordDom.innerHTML = showWord;

此时num值为0,通过字符串的charAt获取固定索引的字符,也就是“2” ,但既然要模拟真实打字效果,打字都是需要时间的,所以,我们加上setTimeout函数,有个演示打字效果:

wordTimeout = setTimeout(() => {     showWord += wordStr.charAt(num);     wordDom.innerHTML = showWord;}, 300)

而这只是第1个文字,想要实现不断累加,就得有个回调,用于源源不断的累加,计算,渲染显示:

function autoWord() {    wordTimeout = setTimeout(() => {       showWord += wordStr.charAt(num);       wordDom.innerHTML = showWord;       num++;        autoWord();  // 递归调用    }, 300)}autoWord();

 而递归的重点在于源源不断,阈值而停

if (num < wLength) {   autoWord();} else {   window.clearTimeout(wordTimeout);   wordTimeout = null;}

5、完整源代码 

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>自动打字机</title>    <style>        * {            margin: 0;            padding: 0;        }        body {            background: #000;        }        .word {            margin: 100px;            width: 500px;            height: 30px;            padding: 2px 10px;            font-size: 26px;            color: #FFF;            font-weight: bold;        }    </style></head><body>    <div class="word"></div>     <script>        var wordStr = '2023年,喜迎新春,玉兔吉祥';        var wordDom = document.querySelector('.word');         var num = 0;        var wordTimeout = null;        var wLength = wordStr.length;        var showWord = '';         function autoWord() {            wordTimeout = setTimeout(() => {                showWord += wordStr.charAt(num);                wordDom.innerHTML = showWord;                num++;                 if (num < wLength) {                    autoWord();                } else {                    window.clearTimeout(wordTimeout);                    wordTimeout = null;                }            }, 300)        }        autoWord();            </script></body>

感谢各位的阅读,以上就是“JS如何实现自动打字机动效”的内容了,经过本文的学习后,相信大家对JS如何实现自动打字机动效这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JS如何实现自动打字机动效

本文链接: http://www.lsjlt.com/news/348837.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS如何实现自动打字机动效
    这篇文章主要讲解了“JS如何实现自动打字机动效”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS如何实现自动打字机动效”吧!1、实现思路 首先这个需求的目的是实现自动打字机效果,意...
    99+
    2023-07-05
  • JS实战例子之实现自动打字机动效
    目录前言1、实现思路 2、html布局和css样式3、预定义前置变量 4、动效过程解析5、完整源代码 6、结语前言 前几天遇到一个需求,产品告诉我说,希...
    99+
    2023-01-28
    js打字机效果实现 js打字机效果 js 打字效果
  • VB语言如何实现自动打字效果
    小编给大家分享一下VB语言如何实现自动打字效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本节知识案例目标一、本节主要用到的知识点:字符串分割函数left全局变...
    99+
    2023-06-20
  • 纯js如何实现打字机效果
    这篇文章给大家分享的是有关纯js如何实现打字机效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图应用场景用处不大,只是看到网上有类似的效果,写了四五十行看不懂的代码,于是尝试能不能简单的实现html<...
    99+
    2023-06-25
  • js如何实现打字动画游戏
    小编给大家分享一下js如何实现打字动画游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!示例代码如下:<!DOCTYPE&...
    99+
    2024-04-02
  • js如何实现文字滚动的效果
    这篇文章主要介绍“js如何实现文字滚动的效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js如何实现文字滚动的效果”文章能帮助大家解决问题。1、取值:(1)writing-mode:horizon...
    99+
    2023-07-02
  • 纯js实现打字机效果
    本文实例为大家分享了js实现打字机效果的具体代码,供大家参考,具体内容如下 效果图 应用场景 用处不大,只是看到网上有类似的效果,写了四五十行看不懂的代码,于是尝试能不能简单的实现...
    99+
    2024-04-02
  • JS如何实现自定义滚动条效果
    这篇文章给大家分享的是有关JS如何实现自定义滚动条效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下<head>  <meta ...
    99+
    2024-04-02
  • 如何使用CSS3伪元素实现自动打字动画
    这篇文章主要介绍了如何使用CSS3伪元素实现自动打字动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用CSS3伪元素实现的自动打字动画原...
    99+
    2024-04-02
  • js实现文字滚动的效果
    本文实例为大家分享了js实现文字滚动的效果的具体代码,供大家参考,具体内容如下 在之前小编已经和大家介绍了一些常用的js动画效果,在此,和大家介绍一种可能不太常用的动画效果。该动画效...
    99+
    2024-04-02
  • vue/js实现页面自动往上滑动效果
    本文实例为大家分享了vue/js实现页面自动往上滑动的具体代码,供大家参考,具体内容如下 最近做的新项目中要求让看不见的内容自动往上滑动一定的距离,使之可以看到,下面我来分享一下。 ...
    99+
    2024-04-02
  • JS实现图片自动播放效果
    本文实例为大家分享了JS实现图片自动播放效果的具体代码,供大家参考,具体内容如下 JS实现图片自动播放 1、先看效果图 2、完整代码 <!DOCTYPE html>...
    99+
    2024-04-02
  • js如何实现文字无缝向上滚动效果
    这篇文章给大家分享的是有关js如何实现文字无缝向上滚动效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。静态效果如下:(动态效果复制粘贴下面代码可见)代码如下:<!DOCT...
    99+
    2024-04-02
  • js如何实现锚点滚动效果
    小编给大家分享一下js如何实现锚点滚动效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!  <!DOCTYPE html> <html> <...
    99+
    2024-04-02
  • js如何实现三级联动效果
    小编给大家分享一下js如何实现三级联动效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!示例代码如下:<!DOCTYPE&...
    99+
    2024-04-02
  • js如何实现二级联动效果
    这篇文章主要介绍js如何实现二级联动效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例代码:<!DOCTYPE html> <html> <...
    99+
    2024-04-02
  • js实现公告自动滚动
    本文实例为大家分享了js实现公告自动滚动的具体代码,供大家参考,具体内容如下 html <div class="test003">           <div ...
    99+
    2024-04-02
  • jQuery如何实现打字机效果
    这篇文章主要介绍了jQuery如何实现打字机效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实例代码:<...
    99+
    2024-04-02
  • js如何实现消息滚动效果
    这篇文章主要为大家展示了“js如何实现消息滚动效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何实现消息滚动效果”这篇文章吧。1.实现的中心思想,如图所...
    99+
    2024-04-02
  • JS中如何实现自动柯里化
    这篇文章给大家分享的是有关JS中如何实现自动柯里化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是柯里化?在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作