用Intro.js创建站点分步指南

下载地址:https://github.com/usablica/intro.js/tags

演示地址:http://usablica.github.io/intro.js/example/index.html

首先引入样式表和js文件,min在minified文件夹中。

1  <link href="../../introjs.css" rel="stylesheet">
2   <script type="text/javascript" src="../../intro.js"></script>

1.常规使用

1  <div class="jumbotron">
2         <h1 data-step="1" data-intro="This is a tooltip!">Basic Usage</h1>
3         <p class="lead" data-step="4" data-intro="Another step.">This is the basic usage of IntroJs, with <code>data-step</code> and <code>data-intro</code> attributes.</p>
4         <a class="btn btn-large btn-success" href="javascript:void(0);" onclick="javascript:introJs().start();">Show me how</a>
5  </div>

 将指南步骤的先后顺序用data-step、说明名字用data-intro写在标签中,可以用data-position来指定指南框的展示位置。设置option的showButtons为false,可以隐藏done、back、next等按钮(javascript:introJs().setOption('showButtons', false).start();)。

2.配置option属性(json格式)来控制steps

 1 function startIntro(){
 2         var intro = introJs();
 3           intro.setOptions({
 4             steps: [
 5               {
 6                 element: document.querySelector('#step1'),
 7                 intro: "This is a tooltip."
 8               },
 9               {
10                 element: document.querySelectorAll('#step2')[0],
11                 intro: "Ok, wasn't that fun?",
12                 position: 'right'
13               },
14               {
15                 element: '#step3',
16                 intro: 'More features, more fun.',
17                 position: 'left'
18               },
19               {
20                 element: '#step4',
21                 intro: "Another step.",
22                 position: 'bottom'
23               },
24               {
25                 element: '#step5',
26                 intro: 'Get it, use it.'
27               }
28             ]
29           });
30 
31 
32           intro.start();
33       }

3.跨页面分步指南

3.1在页面1中将完成按钮改为“下一页”,绑定指南完成事件为跳转到下一个页面,代码如下:
 
1 document.getElementById('startButton').onclick = function() {
2         introJs().setOption('doneLabel', 'Next page').start().oncomplete(function() {
3           window.location.href = 'second.html?multipage=true';
4         });
5       };

3.2在页面2中继续执行上一个页面未完成的部分。(step编号为页面1中接下去的)

 
1 if (RegExp('multipage', 'gi').test(window.location.search)) {
2         introJs().start();
3       }

4.给说明文字添加HTML样式标签

 1 function startIntro(){
 2         var intro = introJs();
 3           intro.setOptions({
 4             steps: [
 5               {
 6                 element: '#step1',
 7                 intro: "This is a <b>bold</b> tooltip."
 8               },
 9               {
10                 element: '#step2',
11                 intro: "Ok, <i>wasn't</i> that fun?",
12                 position: 'right'
13               },
14               {
15                 element: '#step3',
16                 intro: 'More features, more <span style="color: red;">f</span><span style="color: green;">u</span><span style="color: blue;">n</span>.',
17                 position: 'left'
18               },
19               {
20                 element: '#step4',
21                 intro: "<span style='font-family: Tahoma'>Another step with new font!</span>",
22                 position: 'bottom'
23               },
24               {
25                 element: '#step5',
26                 intro: '<strong>Get</strong> it, <strong>use</strong> it.'
27               }
28             ]
29           });
30 
31           intro.start();
32       }

5.添加CSS样式表

可以用data-tooltipClass添加样式表.
 1 .forLastStep {
 2         font-weight: bold;
 3       }
 4       .customDefault { 
 5         color: gray;
 6       }
 7       .customDefault .introjs-skipbutton {
 8         border-radius: 0;
 9         color: red;
10       }

1 <div class="masthead">
2         <ul class="nav nav-pills pull-right" data-step="5" data-tooltipClass='forLastStep' data-intro="Get it, use it.">
3           <li><a href="https://github.com/usablica/intro.js/tags"><i class='icon-black icon-download-alt'></i> Download</a></li>
4           <li><a href="https://github.com/usablica/intro.js">Github</a></li>
5           <li><a href="https://twitter.com/usablica">@usablica</a></li>
6         </ul>
7         <h3 class="muted">Intro.js</h3>
8  </div>
 

猜你喜欢

转载自www.cnblogs.com/nlyangtong/p/11974987.html