千家信息网

怎么使用Smartour

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要讲解了"怎么使用Smartour",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Smartour"吧!InstallSmartour
千家信息网最后更新 2025年02月04日怎么使用Smartour

这篇文章主要讲解了"怎么使用Smartour",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Smartour"吧!

Install

Smartour 被构建成了 umdes module 模块,允许用户通过不同的方式引入。

npm install smartour
/* ES Modules */ import Smartour from 'smartour/dist/index.esm.js' /* CommandJS */ const Smartour = require('smartour') /* 

基本用法

Smartour 提供了一个非常简单的 API focus(), 这是高亮一个元素最简单的方式。

let tour = new Smartour()  tour.focus({   el: '#basic-usage' })

插槽 Slot

插槽 slot 是用于为高亮元素提供描述的 html 字符串。

纯字符串:

let tour = new Smartour()  tour.focus({   el: '#pure-string',   slot: 'This is a pure string' })

Html 字符串

let tour = new Smartour()  tour.focus({   el: '#html-string',   slot: `     

This is a html string

` })

插槽位置

插槽的位置可以选择4个不同的方向: top, right, left, bottom.

设置 options.slotPosition 属性即可覆盖默认的 top 位置。

let tour = new Smartour()  tour.focus({   el: '#slot-positions',   slot: `top`,   options: {     slotPosition: 'top' // 默认为 `top`   } })

插槽事件

插槽所定义的元素也可以绑定事件。我们通过 keyNodes 属性来为插槽元素绑定事件。

keyNodes 是内容为一系列 keyNode 的数组。 属性 keyNode.el 是一个 css 选择器,而 keyNode.event 属性则是对应元素所绑定的事件。

let tour = new Smartour()  tour.focus({   el: '.slot-events-demo',   options: {     slotPosition: 'right'   },   slot: `        Click here to occur an alert event             Click here to occur an alert event        `,   keyNodes: [{     el: '.occur-1',     event: () => { alert('Event!!') }   }, {     el: '.occur-2',     event: () => { alert('Another event!!') }   }] })

Queue

有的时候页面需要不止一个导览。Smartour 允许你把一系列的导览通过 .queue() 放在一起,然后挨个挨个地展示它们。

举个例子:

let tour = new Smartour()  tour   .queue([{     el: '.li-1',     options: {       layerEvent: tour.next.bind(tour)     },     slot: 'This is the 1st line.'   }, {     el: '.li-2',     options: {       layerEvent: tour.next.bind(tour)     },     slot: 'This is the 2nd line.'   }, {     el: '.li-3',     options: {       layerEvent: tour.next.bind(tour)     },     slot: 'This is the 3rd line.'   }])

选项

Smartour 是一个构建函数,它接收一个 options 参数去覆盖其默认选项。

让我们看看它的默认选项是什么样子的:

{   prefix: 'smartour', // class 前缀   padding: 5, // 高亮区域内边距   maskColor: 'rgba(0, 0, 0, .5)', // 带透明值的遮罩层颜色   animate: true, // 是否使用动画   slotPosition: 'top' // 默认的插槽位置   layerEvent: smartour.over // 遮罩层点击事件,默认为结束导览 }

APIs

除了 .focus().queue().run() API 以外,Smartour 还提供了另外三个 API 专门用于控制导览的展示。

  • .next():展示下一个导览(只能配合 .queue() 使用)。

  • .prev():展示上一个导览(只能配合 .queue() 使用)。

  • .over():结束全部导览。

Smartour 的原理

Smartour 通过 element.getBoundingClientRect() api 来获取目标元素的宽高和位置信息,然后放置一个带着 box-shadow 样式的元素在其之上作为高亮区域。

由于点击事件无法再 box-shadow 的区域里触发,所以 Smartour 还放置了一个全屏透明的遮罩层用于绑定 layerEvent 事件。

高亮区域和插槽都被设置为 absolute。当页面滚动时,document.documentElement.scrollTop 或者 document.documentElement.scrollLeft 的值就会变化,然后 Smartour 会实时修正它的位置信息。

感谢各位的阅读,以上就是"怎么使用Smartour"的内容了,经过本文的学习后,相信大家对怎么使用Smartour这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

插槽 事件 元素 位置 高亮 区域 属性 内容 字符 字符串 学习 不同 信息 方式 页面 选择 三个 例子 函数 前缀 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 织梦数据库字段管理 网络安全法治 手机登录kk服务器设置 企业网络安全保密工作方案 边界网络安全公司有哪几家 华为v9导入小米数据库 护理查阅资料数据库 社团网络技术部门面试题目 通信网络技术发展变化 网络技术与应用实践报告心得体会 数据中心服务器配置 网络安全设备安装教程 服务器调试费计入什么科目 帝国神话开服务器要什么配置 马尼拉软件开发月薪25k多吗 娄底龙翔软件开发 用向日葵远程一直连接服务器失败 天津理工大学网络安全考研 学校网络安全管理要点分析 河东区网络安全竞赛总决赛 万象2004 数据库修改 酒泉市肃州区网络安全刑警中队 福建微生活网络技术有限公司 mogon数据库 白帽和软件开发工程师 山东电脑软件开发哪家实惠 微信云服务器怎么搭建 redis是关系数据库吗 杭州云搜网络技术爱采购 服务器调试费计入什么科目
0