最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue-Typed-JS打字動畫效果實(shí)現(xiàn)全過程

 更新時間:2025年08月22日 10:39:59   作者:孩子?你要相信光  
Vue-typed-js是一個用于Vue.js的Typed.js集成插件,它可以創(chuàng)建打字動畫效果,這篇文章主要介紹了Vue-Typed-JS打字動畫效果實(shí)現(xiàn)的相關(guān)資料,文中將插件的安裝及使用介紹的非常詳細(xì),需要的朋友可以參考下

vue-typed-js 簡介

vue-typed-js 是 Vue.js 的一個插件,基于 Typed.js 實(shí)現(xiàn)打字機(jī)動畫效果。適用于展示動態(tài)文本、標(biāo)語或代碼片段,支持自定義速度、循環(huán)等配置。

安裝方法

通過 npm 或 yarn 安裝:

npm install vue-typed-js
# 或
yarn add vue-typed-js

在項(xiàng)目中全局注冊:

import Vue from 'vue';
import VueTypedJs from 'vue-typed-js';

Vue.use(VueTypedJs);

基礎(chǔ)用法

在組件中直接使用 vue-typed-js 組件:

<template>
  <vue-typed-js :strings="['Hello World', 'Welcome to Vue Typed JS']">
    <h1 class="typing"></h1>
  </vue-typed-js>
</template>

配置選項(xiàng)

通過 props 傳遞參數(shù)控制動畫行為:

<template>
  <vue-typed-js
    :strings="['Option 1', 'Option 2']"
    :typeSpeed="50"
    :backSpeed="30"
    :loop="true"
  >
    <span class="typing"></span>
  </vue-typed-js>
</template>

常用參數(shù):

  • strings:數(shù)組形式,包含要顯示的文本。
  • typeSpeed:打字速度(毫秒)。
  • backSpeed:刪除速度(毫秒)。
  • loop:是否循環(huán)播放。
  • showCursor:是否顯示光標(biāo)。

事件綁定

監(jiān)聽動畫狀態(tài)變化:

<template>
  <vue-typed-js
    @onComplete="handleComplete"
    @preStringTyped="handlePreTyped"
  >
    <p class="typing"></p>
  </vue-typed-js>
</template>

<script>
export default {
  methods: {
    handleComplete() {
      console.log('Animation completed');
    },
    handlePreTyped(stringIndex) {
      console.log(`Typing string ${stringIndex}`);
    }
  }
};
</script>

動態(tài)更新內(nèi)容

通過 ref 動態(tài)修改文本:

<template>
  <vue-typed-js ref="typed" :strings="initialStrings">
    <div class="typing"></div>
  </vue-typed-js>
  <button @click="updateText">更新文本</button>
</template>

<script>
export default {
  data() {
    return {
      initialStrings: ['Initial Text']
    };
  },
  methods: {
    updateText() {
      //this.$refs.typed.$typed 實(shí)例
      this.$refs.typed.options.strings = ['New Text'];
      this.$refs.typed.typed.reset(); // 重置動畫
    }
  }
};
</script>

樣式自定義

通過 CSS 修改光標(biāo)或文本樣式:

.typed-cursor {
  opacity: 1;
  color: #42b983;
  animation: blink 0.7s infinite;
}

@keyframes blink {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

常用配置屬性

屬性類型默認(rèn)值描述
stringsArray[]要顯示的文字?jǐn)?shù)組
stringsElementStringnull包含字符串的元素的ID
typeSpeedNumber40打字速度(毫秒)
backSpeedNumber20刪除速度(毫秒)
startDelayNumber0開始前的延遲
backDelayNumber500刪除前的延遲
loopBooleanfalse是否循環(huán)
loopCountNumberInfinity循環(huán)次數(shù)
showCursorBooleantrue是否顯示光標(biāo)
cursorCharString""光標(biāo)字符
fadeOutBooleanfalse是否淡出
fadeOutClassString"typed-fade-out"淡出CSS類
fadeOutDelayNumber500淡出延遲
shuffleBooleanfalse是否隨機(jī)播放字符串
smartBackspaceBooleantrue是否智能退格

Vue-Typed-JS 實(shí)例方法

方法名參數(shù)返回值說明
start()--開始打字動畫
stop()--停止當(dāng)前動畫
toggle()--切換動畫狀態(tài)(運(yùn)行/停止)
reset()--重置動畫(清除文本并回到初始狀態(tài))
destroy()--完全銷毀實(shí)例
complete()--立即完成當(dāng)前字符串的顯示
cursor.remove()--移除光標(biāo)元素
cursor.show()--顯示光標(biāo)(如果之前被隱藏)
cursor.hide()--隱藏光標(biāo)

動態(tài)更新字符串的方法:

// 需要先重置再更新
this.$refs.myTyped.$typed.strings = ["新文本1", "新文本2"];
this.$refs.myTyped.$typed.reset().start();

 事件監(jiān)聽方法:

this.$refs.myTyped.$typed.on('complete', () => {
  console.log('動畫完成');
});

 提示:所有方法調(diào)用前需通過 this.$refs.[ref名稱].$typed 獲取實(shí)例。修改配置屬性(如 strings)后需要調(diào)用 reset() 使更改生效。 

注意事項(xiàng)

  1. 確保 strings 為數(shù)組類型,否則動畫無效。
  2. 動態(tài)更新內(nèi)容時需調(diào)用 reset() 方法重新觸發(fā)動畫。
  3. 如需復(fù)雜配置,參考 Typed.js 官方文檔 的完整參數(shù)列表。

總結(jié) 

到此這篇關(guān)于Vue-Typed-JS打字動畫效果實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Vue-Typed-JS打字動畫效果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中解決拖拽改變存在iframe的div大小時卡頓問題

    vue中解決拖拽改變存在iframe的div大小時卡頓問題

    這篇文章主要介紹了vue中解決拖拽改變存在iframe的div大小時卡頓問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Vue-router 報(bào)錯NavigationDuplicated的解決方法

    Vue-router 報(bào)錯NavigationDuplicated的解決方法

    這篇文章主要介紹了Vue-router 報(bào)錯NavigationDuplicated的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 使用vis-timeline繪制甘特圖并實(shí)現(xiàn)時間軸的中文化(案例代碼)

    使用vis-timeline繪制甘特圖并實(shí)現(xiàn)時間軸的中文化(案例代碼)

    這篇文章主要介紹了使用vis-timeline繪制甘特圖并實(shí)現(xiàn)時間軸的中文化(案例代碼),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • vue+vuecli+webpack中使用mockjs模擬后端數(shù)據(jù)的示例

    vue+vuecli+webpack中使用mockjs模擬后端數(shù)據(jù)的示例

    本篇文章主要介紹了vue+vuecli+webpack中使用mockjs模擬后端數(shù)據(jù)的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-10-10
  • Vue.js搭建移動端購物車界面

    Vue.js搭建移動端購物車界面

    這篇文章主要為大家詳細(xì)介紹了Vue.js搭建移動端購物車界面,重點(diǎn)介紹基本結(jié)構(gòu)和數(shù)據(jù)渲染,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 詳解Vue2中組件間通信的解決全方案

    詳解Vue2中組件間通信的解決全方案

    Vue中組件這個特性讓不少前端er非常喜歡,我自己也是其中之一,它讓前端的組件式開發(fā)更加合理和簡單。下面這篇文章主要給大家介紹了關(guān)于Vue2中組件間通信的解決全方案,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-07-07
  • 基于Vue+Node.js實(shí)現(xiàn)埋點(diǎn)功能全流程

    基于Vue+Node.js實(shí)現(xiàn)埋點(diǎn)功能全流程

    埋點(diǎn)(Track)是指在應(yīng)用程序、網(wǎng)站或平臺中添加代碼,以記錄特定用戶行為和事件的做法,通過添加埋點(diǎn)代碼,可以觀察和分析用戶行為,以調(diào)整和改進(jìn)產(chǎn)品設(shè)計(jì)和使用體驗(yàn),本文給大家介紹了基于Vue+Node.js實(shí)現(xiàn)埋點(diǎn)功能的全流程,需要的朋友可以參考下
    2025-04-04
  • Vue.js實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片切換

    Vue.js實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片切換

    這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • vue3 reactive 請求接口數(shù)據(jù)賦值后拿不到的問題及解決方案

    vue3 reactive 請求接口數(shù)據(jù)賦值后拿不到的問題及解決方案

    這篇文章主要介紹了vue3 reactive 請求接口數(shù)據(jù)賦值后拿不到的問題及解決方案,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 深入淺析Vue.js 中的 v-for 列表渲染指令

    深入淺析Vue.js 中的 v-for 列表渲染指令

    當(dāng)遍歷一個數(shù)組或枚舉一個對象進(jìn)行迭代循環(huán)展示時,就會用到列表渲染指令 v-for。這篇文章主要介紹了Vue.js 中的 v-for 列表渲染指令,需要的朋友可以參考下
    2018-11-11

最新評論

崇州市| 余姚市| 沈丘县| 临西县| 扬中市| 城步| 乐东| 信宜市| 汕尾市| 平泉县| 泗阳县| 杨浦区| 揭东县| 昌邑市| 新绛县| 鲁山县| 阳朔县| 漳平市| 从化市| 泽普县| 阿拉善右旗| 玉田县| 政和县| 化隆| 黄大仙区| 民丰县| 苍山县| 广宁县| 北宁市| 和硕县| 江陵县| 福泉市| 扎鲁特旗| 龙泉市| 葫芦岛市| 马关县| 桃江县| 遂平县| 中方县| 黎平县| 阿拉善右旗|