AngularJS 插件 ngOnboarding 使用笔记
博客专区 > wuguohao 的博客 > 博客详情
AngularJS 插件 ngOnboarding 使用笔记
wuguohao 发表于2年前
AngularJS 插件 ngOnboarding 使用笔记
  • 发表于 2年前
  • 阅读 36
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

背景

最近由于项目需要,需要有一个用户引导的功能在用户第一次登陆的时候,最初的考虑是使用Intro.JS(http://usablica.github.io/intro.js/)。

实现的项目如上图。东西很好但是这个控件是基于JQuery的控件。我们的项目是基于AngularJS框架的,就得使用IntroJS的AngularJS版本(),这样一来为了实现这个功能,添加了太多的依赖,我只想说,不值得。

然后就是本文的主题了,有一款基于AngularJS框架的用户引导控件ngOnboarding,小巧实用,首先提供官方的Github link: https://github.com/adamalbrecht/ngOnboarding. 然后和大家分享一下使用中的技巧。


Demo

作者提供了一个简单直观的Demo :http://adamalbrecht.github.io/ngOnboarding/

大家需不需要这个,点开开一眼就好了。===


基本实用

由于这个插件很小巧很轻量,所以使用也很简单了。

首先在html或者在router中引入需要的依赖文件,只有两个,HTML的引入代码如下

<link href="******/ngOnboarding-master/dist/ng-onboarding.css" rel="stylesheet" type="text/css"/>
<script src="******/ngOnboarding-master/dist/ng-onboarding.js" type="text/javascript"></script>

接着就是大家熟知的往Angular APP中添加相关的模块

app = angular.module("myApp", ["ngOnboarding"]);

最后最简单的使用配置就是直接定义好所需要显示的引导步骤

$scope.onboardingSteps = [
  {
    title: "Welcome!",
    position: "centered",
    description: "Welcome to my app!",
    width: 300
  },
  {
    title: "Account Setup",
    position: "right",
    description: "This is the form for configuring your account.",
    attachTo: "#account_form",
    position: "bottom"
  }
];

定义好这些,是时候在html中加入相关的标签了,在这我们只用最简单的配置

<onboarding-popover enabled="onboardingEnabled" steps="onboardingSteps" on-finish-callback='myCallbackFunction' step-index='onboardingIndex'></onboarding-popover>


配置选项

Title: 弹出提示框的标题内容

description: 弹出提示框的显示内容(可以包括HTML代码)

attachTo: 用于定位指定页面元素的CSS选择器

position: 弹出提示框相对于指定元素的位置,可以设置为"left","right","top","bottom","centered",除了"centered",其余参数都需要配置attachTo属性

width: 弹出框的宽度,默认宽度为内容的大小

height: 弹出框的高度,默认高度为内容的大小

top, right, bottom, left: 设置弹出框的具体坐标

xOffset: 弹出框相对于选定元素的x轴偏移量

yOffset: 弹出框相对于选定元素的y轴偏移量


全局配置

我们可以通过config的方式在AngularJS APP启动时对Onboarding做一些全局的配置

app.config(function(ngOnboardingDefaultsProvider) {  ngOnboardingDefaultsProvider.set('option', 'value');  // Or with a hash
  ngOnboardingDefaultsProvider.set({option: 'value', option2: 'value2'});
})

(未完待续)


最后要说的话


标签: AngularJS Javascript
共有 人打赏支持
粉丝 0
博文 2
码字总数 1088
×
wuguohao
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: