返回顶部
首页 > 资讯 > 精选 >如何在web前端里实现打字机插件
  • 439
分享到

如何在web前端里实现打字机插件

2023-07-05 14:07:32 439人浏览 安东尼
摘要

这篇文章主要介绍了如何在web前端里实现打字机插件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何在WEB前端里实现打字机插件文章都会有所收获,下面我们一起来看看吧。最简单的打字机const dom = do

这篇文章主要介绍了如何在web前端里实现打字机插件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何在WEB前端里实现打字机插件文章都会有所收获,下面我们一起来看看吧。

最简单的打字机

const dom = document.querySelector('.content')
const data = '最简单的打字效果代码'.split('')
let index = 0
function writing(index) {
   if (index < data.length) {
       dom.innerhtml += data[index]
       setTimeout(writing.bind(this), 200, ++index)
   }
}
writing(index)

最简单的打字机,简单的通过定时器实现了文字的增加,通过这个例子我们能够得到一个具体的实现思路,当然一些功能或者性能上的问题还需要不断地优化,但是我们可以以此作为基础来设计一款插件。

1. 新增向后删除动效

所以我们新增一个当前的打字状态

当 state 为 "typing" 的时候代表向前打字,相反为向后删除,

然后就是处理删除部分的逻辑,这部分的逻辑和向前新增是一样的,并且我们也要在删除到最后一个字符之后把状态改为 "typing"

2. 新增速度,向后删除速度可控

然后还可以自定义向前新增或者向后删除的速度,通过当前的状态来判断就可以

3. 输入文字可以为单个字符串也可以为字符串数组

并且支持传入一个字符串数组而不是单个的字符串,因为实际的需求可能是多个字符串之间一直轮换

首先单个字符的逻辑没什么好说的,字符串的数组的话,就需要新增一个index用于判断当前打字机进行到了哪一个字符串,

通过 changeTextIndex 这个函数,就可以不断地更新当前字符串,做到字符串数组循环播放的效果

4. 开启延迟

新增字符串开始和结束的延迟

用于控制每次打字结束之后,需要等待的时间

5. 停止打字

打字机运行的过长当中,由于底层是通过定时器实现的,那么就一定需要在不使用的时候将其关闭,避免造成性能的浪费,比方说在首页实例化了一个打字机,但是进入到别的页面的时候就不再需要这个打字机了,那么就需要将其停下。

通过在实例上绑定一个函数来停下当前打字机的进行,当调用的时候,会将下一个定时器赋值为 null,从而停下打字机的运行。

6. 使用 callback 回调解决小程序问题

上述的代码当中,我们都去修改了 dom 节点来实现打字机字符的改变,那么在小程序或者是其他不存在 dom 或者是 dom 修改的 api 不再是 innerhtml 的时候,插件就无法进行支持,所以对此进行兼容,显示通过 callBackText 来保存当前的字符串,然后在利用一个函数来决定,这个字符串的使用方式

在存在 callback 的情况下,优先将字符串通过 callback 回调出去,让业务拿到这个字符串并且自己去处理改变的逻辑,这样在哪都能够进行打字效果,并且不在依赖环境。

这里那我自己的 uniapp 项目做一个示例

如何在web前端里实现打字机插件

如何在web前端里实现打字机插件

效果:

如何在web前端里实现打字机插件

关于“如何在web前端里实现打字机插件”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何在web前端里实现打字机插件”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何在web前端里实现打字机插件

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

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

猜你喜欢
  • 如何在web前端里实现打字机插件
    这篇文章主要介绍了如何在web前端里实现打字机插件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何在web前端里实现打字机插件文章都会有所收获,下面我们一起来看看吧。最简单的打字机const dom = do...
    99+
    2023-07-05
  • 详解怎么在前端里实现打字机插件
    本篇文章给大家带来了关于前端的相关知识,其中主要跟大家聊一聊前端是怎么实现打字机插件的,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。前言前端实现打字机效果,在网上找到的通过修改dom节点的方式无法跨端使用,考虑到跨端问题作出兼容方案:...
    99+
    2023-05-14
    前端
  • c# 如何实现web打印插件
    目录客户端程序(Winform)1、监听Web端的WebSocket消息,这里有用到三方包:Fleck,开箱即用,非常方便。2、处理Html,将Html转换为图片:3、打印图片其他的...
    99+
    2024-04-02
  • vue如何实现web前端登录页数字验证码
    这篇文章主要讲解了“vue如何实现web前端登录页数字验证码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何实现web前端登录页数字验证码”吧!创建code.js文件夹下面是js代码...
    99+
    2023-07-02
  • laypage前端分页插件如何实现ajax异步分页
    这篇文章将为大家详细讲解有关laypage前端分页插件如何实现ajax异步分页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下function Get...
    99+
    2024-04-02
  • xterm.js在web端如何实现Terminal
    这篇文章主要介绍“xterm.js在web端如何实现Terminal”,在日常操作中,相信很多人在xterm.js在web端如何实现Terminal问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”xterm.j...
    99+
    2023-07-04
  • 前端音频可视化Web Audio如何实现
    这篇文章主要介绍“前端音频可视化Web Audio如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“前端音频可视化Web Audio如何实现”文章能帮助大家解决问题。实现思路...
    99+
    2023-07-05
  • web前端如何实现360度全景效果
    今天小编给大家分享一下web前端如何实现360度全景效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用插件:photo-...
    99+
    2023-07-05
  • H5如何实现手机端多文件上传预览插件
    这篇文章将为大家详细讲解有关H5如何实现手机端多文件上传预览插件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基于zepto,支持多文件上传,进度和图片预览,用于手机端。...
    99+
    2024-04-02
  • 在Vue中如何实现打字机的效果
    目录最终效果以上四句话循环重复具体代码如下前一段时间找工作做网页简历,想实现打字机的效果。 按理说像打字机这种动画效果的实现首选是jquery,毕竟jquery还是以操作dom为主,...
    99+
    2024-04-02
  • 如何实现web前端资源增量式更新
    这篇文章主要讲解了“如何实现web前端资源增量式更新”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现web前端资源增量式更新”吧!之前校招面试的时候遇...
    99+
    2024-04-02
  • js如何实现前端日历控件
    这篇文章主要介绍js如何实现前端日历控件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先说下控件的依赖包,加载控件的时候必须先加载jQuery, jQuqery.UI, 另外jqu...
    99+
    2024-04-02
  • jQuery如何实现打字机效果
    这篇文章主要介绍了jQuery如何实现打字机效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实例代码:<...
    99+
    2024-04-02
  • 纯js如何实现打字机效果
    这篇文章给大家分享的是有关纯js如何实现打字机效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图应用场景用处不大,只是看到网上有类似的效果,写了四五十行看不懂的代码,于是尝试能不能简单的实现html<...
    99+
    2023-06-25
  • web开发中如何实现前端隐藏出边界内容
    这篇文章将为大家详细讲解有关web开发中如何实现前端隐藏出边界内容,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前端隐藏出边界内容的实现方法关于“web开发中如何实现前端...
    99+
    2024-04-02
  • JS如何实现自动打字机动效
    这篇文章主要讲解了“JS如何实现自动打字机动效”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS如何实现自动打字机动效”吧!1、实现思路 首先这个需求的目的是实现自动打字机效果,意...
    99+
    2023-07-05
  • 如何在web端实现一个有日历的报表
    如何在web端实现一个有日历的报表,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。简单要一个日历控件来选择日期查询,可以直接用报表工具自带的控件或者也有一些开源的...
    99+
    2023-06-03
  • MyBatis动态SQL如何实现前端指定返回字段
    目录动态SQL实现前端指定返回字段问题描述解决方案MyBatis如何返回部分字段.xml文件中resultMap的type改为第二种很笨的方法动态SQL实现前端指定返回字段 问题描述...
    99+
    2024-04-02
  • 基于Vue3实现前端埋点上报插件并打包发布到npm的详细过程
    目录项目环境搭建插件开发点击事件上报vue自定义指令手动上报方法页面访问次数上报(pv,uv)页面停留时间(TP)获取公共参数引入axios打包发布使用说明OptionOptions...
    99+
    2022-11-13
    Vue打包发布到npm Vue埋点上报插件打包发布到npm
  • web开发中如何在多种前端框架下使用的表格控件
    这篇文章给大家分享的是有关web开发中如何在多种前端框架下使用的表格控件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、在纯JavaScript下使用FlexGridHTML文...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作