东莞做棋牌网站建设,湖南seo推广方法,wordpress 必须登录,福州论坛网引导页就是当用户第一次或者手动进行触发的时候#xff0c;提示给用户当前系统的模块介绍#xff0c;比如哪里是退出#xff0c;哪里是菜单等等相应的操作。 无论是开发 APP 还是 web 应用#xff0c;新手引导都是一个很常见的需求#xff0c;一般在这2个方面需要新手引导… 引导页就是当用户第一次或者手动进行触发的时候提示给用户当前系统的模块介绍比如哪里是退出哪里是菜单等等相应的操作。 无论是开发 APP 还是 web 应用新手引导都是一个很常见的需求一般在这2个方面需要新手引导 用户第一次打开应用对界面不够熟悉或者作为一个创新型的产品大部分用户没有类似的使用经验 对成熟的应用进行一次较大的版本改动UI 布局有比较大的改变需要引导来告知用户 1.1 导航演示 1.2 Driver.js 介绍
Driver.js 是一个功能强大且高度可定制的基于原生JavaScript开发的新用户引导库。主要的作用是为刚接触应用的新手用户快速了解产品帮助用户把注意力聚焦到某项功能从而快速熟悉我们的开发的产品。它没有依赖项支持所有主要浏览器。
官网https://kamranahmed.info/driver.js/
githubhttps://github.com/kamranahmedse/driver.js 1.3 Driver.js 的技术特性 简单轻量使用很简单独立无依赖只有 4kb 大小高度可定制具有丰富强大的 API按需使用交互体验好支持动画过渡体验流畅舒服突出显示任何内容支持突出显示页面上的任何 dom 元素简单几步实现功能介绍为我们 Web 应用创建很棒的功能介绍体验优秀对用户操作友好可以通过键盘控制引导流程在生成力应用上很实用浏览器兼容性表现一致支持几乎所有浏览器包括著名的IE
1.4 安装依赖
npm 安装
npm i driver.js --saveyarn 安装
yarn add driver.js项目组件中引入依赖
import Driver from driver.js;import driver.js/dist/driver.min.css;1.5 代码实现
在项目中需要先实例化 driver 对象然后调用 driver.defineSteps(array) 方法实现引导步骤。 在需要实现新用户引导的Vue文件中实例化driver对象例如在项目的 main.vue 文件中driver.js用法如下所示
templatediv classdashboard-containercomponent :iscurrentRole //div
/templatescript
import adminDashboard from ./admin
import Driver from driver.js // 引入driver.js依赖
import driver.js/dist/driver.min.css // 引入driver.js的样式文件export default {name: Main,components: { adminDashboard },data() {return {currentRole: adminDashboard,driver: null}},mounted() {// 实例化driver对象this.driver new Driver()// 弹框提示this.$confirm(是否进入新手导航, 提示, {confirmButtonText: 确定,cancelButtonText: 取消}).then(() {// 调用新手引导方法this.onNavigation()}).catch(() {})},methods: {onNavigation() {// 新手引导方法this.driver.defineSteps([{element: #hamburger-container,popover: {title: 折叠按钮,description: 点击折叠左侧菜单导航,position: right,nextBtnText: 下一步,prevBtnText: 上一步,closeBtnText: 关闭}},{element: .panel-group,popover: {title: 数据统计,description: 统计每日最新数据,position: bottom,nextBtnText: 下一步,prevBtnText: 上一步,closeBtnText: 关闭}},{element: #home-line-chart,popover: {title: 数据统计,description: 统计每日最新数据,position: bottom,nextBtnText: 下一步,prevBtnText: 上一步,closeBtnText: 关闭}},{element: #transaction-table,popover: {title: 订单汇总,description: 汇总平台销售订单量,position: right,nextBtnText: 下一步,prevBtnText: 上一步,closeBtnText: 关闭,doneBtnText: 完成}}])// 必须调用 start() 方法才能生效this.driver.start()}}
}
/script1.6 配置相关参数
defineSteps() 方法的参数为数组类型数组中元素就是要执行的引导步骤。step 选项包括
{element: #item, // 需要被高亮的元素选择器popover: { // 弹框内容如果为空将不会显示弹窗className: popover-class, // 额外指定的当前步骤弹窗类名title: 弹框标题, // 弹窗的标题description: 该步骤是用于xxx, // 弹窗的主体内容showButtons: false, // 是否在弹窗底部显示控制按钮closeBtnText: 关闭, // 关闭按钮的文本nextBtnText: 下一步, // 当前步骤的下一步按钮文本prevBtnText: 上一步, // 当前步骤的上一步按钮文本doneBtnText: 完成 // 最后一步完成按钮文本}
}diver对象配置参数说明
const driver new Driver({className: scoped-class, //包裹driver.js弹窗的类名animate: true, // 高亮元素改变时是否显示动画opacity: 0.75, //背景透明度(0 表示只有弹窗并且没有遮罩)padding: 10, // 元素与边缘的距离allowClose: true, // 是否允许点击遮罩时关闭overlayClickNext: false, //是否允许点击遮罩时移到到下一步doneBtnText: Done, // 最终按钮上的文本closeBtnText: Close, // 当前步骤关闭按钮上的文本nextBtnText: Next, //当前步骤下一步按钮上的文本prevBtnText: Previous, // 当前步骤上一步按钮上的文本showButtons: false, //是否在底部显示控制按钮keyboardControl: true, // 是否允许通告键盘控制(escape关闭箭头键用于移动)scrollIntoViewOptions: {}, // scrollIntoView() 方法的选项onHighlightStarted: (Element) {}, // 元素开将要高亮时调用onHighlighted: (Element) {}, // 元素开完全高亮时调用onDeselected: (Element) {}, // 取消选择时调用onReset: (Element) {}, // 遮罩将要关闭时调用onNext: (Element) {}, // 任何步骤中移到到下一步时调用onPrevious: (Element) {}, // 任何步骤中移到到上一步时调用
});driver对象提供一系列强大的API方法开发者通过这些API方法对driver.js实现高度定制。driver对象API方法如下
const isActivated driver.isActivated; // 检查driver是否激活
driver.moveNext(); // 移动到步骤列表中的下一步
driver.movePrevious(); // 移动到步骤列表中的上一步
driver.start(stepNumber 0); // 从指定的步骤开始
driver.highlight(string|stepDefinition); // 高亮通过查询选择器指定的或步骤定义的元素
driver.reset(); // 重置遮罩并且清屏
driver.hasHighlightedElement(); //检查是否有高亮元素
driver.hasNextStep(); // 检查是否有可移动到的下一步元素
driver.hasPreviousStep(); // 检查是否有可移动到的上一步元素
driver.preventMove();// 阻止当前移动。如果要执行某些异步任务并手动移动到下一步则在“onNext”或“onPrevious”中很有用const activeElement driver.getHighlightedElement();// 获取屏幕上当前高亮元素
const lastActiveElement driver.getLastHighlightedElement();
activeElement.getCalculatedPosition(); // 获取活动元素的屏幕坐标
activeElement.hidePopover(); // 隐藏弹窗
activeElement.showPopover(); // 显示弹窗
activeElement.getNode(); // 获取此元素后面的DOM元素
文章转载自: http://www.morning.rglzy.cn.gov.cn.rglzy.cn http://www.morning.dgsx.cn.gov.cn.dgsx.cn http://www.morning.jbztm.cn.gov.cn.jbztm.cn http://www.morning.qqnp.cn.gov.cn.qqnp.cn http://www.morning.ntwfr.cn.gov.cn.ntwfr.cn http://www.morning.gjtdp.cn.gov.cn.gjtdp.cn http://www.morning.bauul.com.gov.cn.bauul.com http://www.morning.pmysp.cn.gov.cn.pmysp.cn http://www.morning.ljhnn.cn.gov.cn.ljhnn.cn http://www.morning.mpszk.cn.gov.cn.mpszk.cn http://www.morning.jxpwr.cn.gov.cn.jxpwr.cn http://www.morning.xscpq.cn.gov.cn.xscpq.cn http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn http://www.morning.zfrs.cn.gov.cn.zfrs.cn http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn http://www.morning.rpstb.cn.gov.cn.rpstb.cn http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn http://www.morning.nftzn.cn.gov.cn.nftzn.cn http://www.morning.rtbx.cn.gov.cn.rtbx.cn http://www.morning.flfxb.cn.gov.cn.flfxb.cn http://www.morning.drndl.cn.gov.cn.drndl.cn http://www.morning.bpknt.cn.gov.cn.bpknt.cn http://www.morning.drbwh.cn.gov.cn.drbwh.cn http://www.morning.rcjyc.cn.gov.cn.rcjyc.cn http://www.morning.vaqmq.cn.gov.cn.vaqmq.cn http://www.morning.xqcst.cn.gov.cn.xqcst.cn http://www.morning.jglqn.cn.gov.cn.jglqn.cn http://www.morning.xfxnq.cn.gov.cn.xfxnq.cn http://www.morning.xjkfb.cn.gov.cn.xjkfb.cn http://www.morning.qnyf.cn.gov.cn.qnyf.cn http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn http://www.morning.mwzt.cn.gov.cn.mwzt.cn http://www.morning.yqqxj1.cn.gov.cn.yqqxj1.cn http://www.morning.zxznh.cn.gov.cn.zxznh.cn http://www.morning.jrlgz.cn.gov.cn.jrlgz.cn http://www.morning.lzrpy.cn.gov.cn.lzrpy.cn http://www.morning.bwnd.cn.gov.cn.bwnd.cn http://www.morning.zzaxr.cn.gov.cn.zzaxr.cn http://www.morning.qwpyf.cn.gov.cn.qwpyf.cn http://www.morning.jwefry.cn.gov.cn.jwefry.cn http://www.morning.pbdnj.cn.gov.cn.pbdnj.cn http://www.morning.sgbss.cn.gov.cn.sgbss.cn http://www.morning.ndcjq.cn.gov.cn.ndcjq.cn http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn http://www.morning.fypgl.cn.gov.cn.fypgl.cn http://www.morning.jwtjf.cn.gov.cn.jwtjf.cn http://www.morning.rwxnn.cn.gov.cn.rwxnn.cn http://www.morning.drkk.cn.gov.cn.drkk.cn http://www.morning.bgbnc.cn.gov.cn.bgbnc.cn http://www.morning.zrnph.cn.gov.cn.zrnph.cn http://www.morning.zfqr.cn.gov.cn.zfqr.cn http://www.morning.gmjkn.cn.gov.cn.gmjkn.cn http://www.morning.mrccd.cn.gov.cn.mrccd.cn http://www.morning.mszwg.cn.gov.cn.mszwg.cn http://www.morning.fsbns.cn.gov.cn.fsbns.cn http://www.morning.nqypf.cn.gov.cn.nqypf.cn http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn http://www.morning.cknrs.cn.gov.cn.cknrs.cn http://www.morning.wrdpj.cn.gov.cn.wrdpj.cn http://www.morning.kqhlm.cn.gov.cn.kqhlm.cn http://www.morning.ghkgl.cn.gov.cn.ghkgl.cn http://www.morning.tongweishi.cn.gov.cn.tongweishi.cn http://www.morning.ctxt.cn.gov.cn.ctxt.cn http://www.morning.yjdql.cn.gov.cn.yjdql.cn http://www.morning.mnjwj.cn.gov.cn.mnjwj.cn http://www.morning.xmjzn.cn.gov.cn.xmjzn.cn http://www.morning.jcxyq.cn.gov.cn.jcxyq.cn http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn http://www.morning.rltsx.cn.gov.cn.rltsx.cn http://www.morning.plhyc.cn.gov.cn.plhyc.cn http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn http://www.morning.tkcct.cn.gov.cn.tkcct.cn http://www.morning.brscd.cn.gov.cn.brscd.cn http://www.morning.zrgsg.cn.gov.cn.zrgsg.cn http://www.morning.hpdpp.cn.gov.cn.hpdpp.cn http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn http://www.morning.xnyfn.cn.gov.cn.xnyfn.cn http://www.morning.yrjkp.cn.gov.cn.yrjkp.cn http://www.morning.trplf.cn.gov.cn.trplf.cn http://www.morning.zqfz.cn.gov.cn.zqfz.cn