IndieShow 图标IndieShow 使用文档

打字机效果配置

配置 IndieShow 项目的打字机效果,包括启用开关、打字速度等参数设置

本文档将帮助你配置 IndieShow 项目的打字机效果。打字机效果可以让你的网站文字像打字一样逐字显示,增加网站的动态感和趣味性。

文件结构

打字机效果相关的文件结构:

文件说明:

  • components/ui/: UI 组件目录
    • UITypeWriter.vue: 打字机效果组件,实现文字逐字显示的核心功能
  • types/components/ui/: 类型定义目录
    • uitypewriter.d.ts: 打字机组件的 TypeScript 类型定义,包含组件属性接口

配置参数

基础配置

变量名称变量描述默认值
NUXT_PUBLIC_TYPEWRITER_ENABLED是否启用打字机效果(可选值:true/false)true
NUXT_PUBLIC_TYPEWRITER_SPEED打字速度(毫秒/字符,建议范围:50-200,数值越小速度越快)40

使用示例

在组件中使用

以下是首页 Hero 区域使用打字机效果的示例:

components/ui/UITypeWriter.vue
<template>
  <section class="relative overflow-hidden">
    <div class="mx-auto max-w-4xl text-center">
      <!-- 主要描述 -->
      <UIScrollAnimation animation="fade-up" :delay="800" :duration="1200">
        <p class="mt-8 text-lg leading-8 text-gray-600 dark:text-gray-300 relative animate-float max-w-3xl mx-auto">
          <ClientOnly>
            <UITypeWriter 
              :text="t('site.description')" 
              :start-delay="1500" 
              class="leading-tight" 
            />
          </ClientOnly>
        </p>
      </UIScrollAnimation>
    </div>
  </section>
</template>
 
<script setup lang="ts">
import { useI18n } from "#imports"
 
const { t } = useI18n()
</script>

组件属性说明

打字机组件 UITypeWriter 接受以下属性:

属性名类型描述默认值
textstring需要显示的文本内容-
startDelaynumber开始打字前的延迟时间(毫秒)0
typeSpeednumber打字速度(毫秒/字符)40

使用建议

  1. 搭配 ClientOnly 组件使用,确保在客户端渲染
  2. 可以结合动画组件(如示例中的 UIScrollAnimation)增强效果
  3. 适合用于:
    • 网站标语展示
    • 重要信息强调
    • 动态内容呈现

性能优化

为了获得最佳性能:

  • 避免在同一页面使用过多打字机效果
  • 合理设置 startDelay,避免多个打字效果同时触发
  • 考虑在移动端调整 typeSpeed 以获得更好的用户体验

效果调优

速度设置建议

  • 标题文字:建议 80-100ms
  • 正文文字:建议 40-60ms
  • 快速效果:建议 20-30ms

性能优化

  1. 避免同时使用过多打字机效果
  2. 考虑在移动端降低使用频率
  3. 可以设置最大字符数限制

常见问题

性能提示

  1. 打字机效果会增加页面的 JavaScript 执行时间
  2. 建议只在重要的展示文字上使用
  3. 可以通过媒体查询在不同设备上调整使用策略

下一步

目录