我的编程空间,编程开发者的网络收藏夹
学习永远不晚

在Vue中怎么实现打字机的效果

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

在Vue中怎么实现打字机的效果

本篇内容介绍了“在Vue中怎么实现打字机的效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

最终效果

I‘m ByPunk!I‘m looking for a job.I‘m a front-end programmer.I‘m coding the web…

以上四句话循环重复,以打字机的效果显示输入和删除,因为前面的I‘m是相同的,所以只对后面的内容加以修改。

事先定义好字符串str:str='By Punk!',使用数组的splite方法将str分解成由字母组成的数组。

利用for循环,每100毫秒向数组里push一个新的字母,利用vue的双向绑定,数据更新带动视图更新。

在容纳字母的div后写一个竖杠“|”并加上不断闪烁的动画,模拟打字机光标。

在每次push的时候,判断当前的索引i是否是数组的最后一个元素,如果是,则在2秒后开始清除。

“删除”具体实现跟“输入”刚好相反,每200毫秒从数组从pop出最后一项。

使用watch钩子函数实现四句话的循环重复。

具体代码如下

<template>    <div class="typer">      <div class="typer-content">        <p class="typer-static">I'm&nbsp;</p>        <!-- 动态变化的内容-->        <p class="typer-dynamic">          <span class="cut">            <span class="word" v-for="(letter,index) in words" :key="index">{{letter}}</span>          </span>          <!-- 模拟光标-->          <span class="typer-cursor"></span>        </p>      </div>    </div></template>
<script>export default {  data () {    return {      words:[],               //字母数组push,pop的载体      str:"By Punk",          //str初始化      letters:[],             //str分解后的字母数组      order:1,                //表示当前是第几句话    }  },  watch:{                     //监听order值的变化,改变str的内容    order(old,newV){      if(this.order%4==1){        this.str="By Punk!"      }      else if(this.order%4==2){        this.str="looking for a job. "      }      else if(this.order%4==3){        this.str="a front-end programmer."      }      else{        this.str="coding the web..."      }    }  },  mounted(){            //页面初次加载后调用begin()开始动画    this.begin()  },  methods:{  //开始输入的效果动画    begin(){                  this.letters=this.str.split("")      for(var i=0;i<this.letters.length;i++){        setTimeout(this.write(i),i*100);      }    },  //开始删除的效果动画    back(){      let L=this.letters.length;      for(var i=0;i<L;i++){        setTimeout(this.wipe(i),i*50);      }    },  //输入字母    write(i){      return ()=>{          let L=this.letters.length;          this.words.push(this.letters[i]);          let that=this;                     if(i==L-1){             setTimeout(function(){              that.back();            },2000);          }      }    },  //擦掉(删除)字母    wipe(i){      return ()=>{          this.words.pop(this.letters[i]);                    if(this.words.length==0){             this.order++;             let that=this;             setTimeout(function(){               that.begin();             },300);          }      }    },  },}</script>
<style scoped lang="less">@thePink:#e84d49;.typer{  margin-top: 2%;  box-sizing: border-box;}.typer .typer-content{  font-weight: bold;  font-size: 50px;  display: flex;  flex-direction: row;  letter-spacing: 2px }.typer-dynamic{  position: relative;}.cut{  color: @thePink;}.typer-cursor{  position: absolute;  height: 100%;  width: 3px;  top: 0;  right: -10px;  background-color: @thePink;  animation: flash 1.5s linear infinite;}</style>

“在Vue中怎么实现打字机的效果”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

在Vue中怎么实现打字机的效果

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

下载Word文档

猜你喜欢

在Vue中怎么实现打字机的效果

本篇内容介绍了“在Vue中怎么实现打字机的效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最终效果I‘m ByPunk!I&l
2023-07-02

实现微信小程序中的文字打字机效果

实现微信小程序中的文字打字机效果微信小程序作为一种新兴的应用开发方式,已经在各行业得到了广泛的应用。在小程序中,文字是最为基本的展示形式之一,有时为了增加趣味性和吸引用户注意力,我们可以采用文字打字机效果来呈现文本内容。本文将介绍如何在微信
实现微信小程序中的文字打字机效果
2023-11-21

纯js如何实现打字机效果

这篇文章给大家分享的是有关纯js如何实现打字机效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图应用场景用处不大,只是看到网上有类似的效果,写了四五十行看不懂的代码,于是尝试能不能简单的实现html

2023-06-25

Android自定义View实现打字机效果

一、先来看看效果演示二、实现原理:这个其实不难实现,通过一个定时器不断调用TextView的setText就行了,在setText的时候播放打字的音效。 具体代码如下:import java.util.Timer; import java.
2022-06-06

Vue怎么实现星空效果

本篇内容主要讲解“Vue怎么实现星空效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么实现星空效果”吧!星空效果如下1.星空背景子组件