Vue + intro.js 实现页面新手引导流程功能


头像
懒羊羊学前端
原创
发布时间: 2026-07-25 10:36:33 | 阅读数 0收藏数 0评论数 0
封面
Intro.js 是一个开源的纯 Javascript / CSS 库,用于添加分步介绍或提示。 本文介绍 Vue 3 项目中 Intro.js 的使用方法,通过 Intro.js 实现页面分步引导和功能提示。内容涵盖 Intro.js 的安装、样式引入、Tour 引导流程以及 Hint 提示功能,帮助开发者快速为 Web 应用添加轻量、直观的新手引导体验。
1

介绍

https://introjs.com/docs 这个是官网


Intro.js 是一个开源的纯 Javascript / CSS 库,用于添加分步介绍或提示。

Intro.js API 的简洁性可帮助您为产品开发高级引导流程。Intro.js 体积小巧,仅有 10kB,且没有任何外部依赖!


2

安装 intro.js

如图所示 输入命令 pnpm install intro.js --save 进行安装


3

引入样式

在项目的 main.js 中,引入 intro.js 库和相关样式文件,如下:

// 首页引导插件

// introjs库
import intro from 'intro.js'

// introjs默认css样式
import 'intro.js/introjs.css'

// introjs主题
import 'intro.js/themes/introjs-modern.css'
// 把intro.js加入到vue的prototype中,方便使用,就可以直接通过this.$intro()来调用了
Vue.prototype.$intro = intro


4

引导案例

效果如图 他是通过 id进行绑定 来处理引导区域的

<script setup lang="ts">
import introJs from 'intro.js'

const startGuide = () => {
const intro = introJs()

intro.setOptions({
steps: [
{
element: '#step-1',
intro: '这里是第一个功能'
},
{
element: '#step-2',
intro: '这里是第二个功能'
},
{
element: '#step-3',
intro: '这里是第三个功能'
}
]
})

intro.start()
}
</script>

<template>
<div>
<button @click="startGuide">
开始引导
</button>

<div id="step-1">
第一步
</div>

<div id="step-2">
第二步
</div>

<div id="step-3">
第三步
</div>
</div>
</template>


5

使用 data-intro 和 data-step

还有另外一种方式 这种方式无需进行数据的配置 可以直接写在元素上

<script setup lang="ts">
import introJs from 'intro.js'

const startGuide = () => {
introJs().start()
}
</script>

<template>
<div>
<button @click="startGuide">
开始引导
</button>

<div class="card-demo">
<div class="card shadow--md">
<div class="card__image">
<img
src="https://images.unsplash.com/photo-1506624183912-c602f4a21ca7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
alt="灯塔图片"
title="灯塔图片标题"
/>
</div>

<div class="card__body">
<h4
data-intro="你好!👋 这里是灯塔名称"
data-step="1"
>
Quaco 灯塔
</h4>

<small
data-intro="你可以选中这段文字"
data-step="2"
>
Quaco Head 灯塔是一座维护良好的灯塔,位于圣马丁斯附近。
沿着海边步行一小段路,就能欣赏到这座美丽的灯塔。
</small>
</div>
</div>
</div>
</div>
</template>


6

data-hint

您还可以使用 HTML 属性向页面添加提示data-hint。只需将这些属性添加到元素并调用introJs.hint().render()


代码如下

<script setup lang="ts">
import introJs from 'intro.js'

const startHint = () => {
introJs.hint().render()
}
</script>

<template>
<div>
<button @click="startHint">
显示提示
</button>

<div class="card-demo">
<div class="card shadow--md">
<div class="card__image">
<img
src="https://images.unsplash.com/photo-1506624183912-c602f4a21ca7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
alt="灯塔图片"
title="灯塔图片标题"
/>
</div>

<div class="card__body">
<h4
data-hint="你好!👋 点击这个链接"
data-hint-position="bottom-middle"
>
Quaco 灯塔
</h4>

<small
data-hint="你可以选中这段文字"
data-hint-position="top-right"
>
Quaco Head 灯塔是一座维护良好的灯塔,位于圣马丁斯附近。
沿着海边步行一小段路,就能欣赏到这座美丽的灯塔。
</small>
</div>
</div>
</div>
</div>
</template>


阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
头像
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报