在用户第一次使用网站的时候,一般会提供新手引导的提示,提示用户重要的功能使用,实现方法比较多,但是有一点,屏幕的自适应问题,大多数自己写的实现方法无非就是一个div遮罩层,然后再需要指引的位置放置一张图片等,但是如果屏幕并非一般的常用尺寸,那么就会出现图片位置不对应的问题,原因就是在css里边固定了图片的位置,并没有自适应。

IntroJs这个插件是一个开源的分布引导插件,采用绑定div的方式,动态生成提示文字,屏幕缩放以后,相应的提示内容的位置也会随div变化而变化,唯一的缺点就是对于自定义的样式(图片等)支持的不好,可以满足简单的需求。

IntroJs简介


分步指南用于向首页使用网站或者移动应用添加漂亮的分布指南效果,你在新浪微博、扣扣空间上可能看过类似的。Intro.js 作为一个网站功能操作分布引导插件,支持使用键盘的前后方向键导航,使用 Enter 和 ESC 键退出指南。支持 Chrome、Firefox、Safari 浏览器以及部分IE 浏览器。

  使用方法:


百度下载压缩文件,然后在项目中引用css和js文件。

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

自己修改文件路径,然后进行配置,这一步是关键:

 introJs().setOptions({
//对应的按钮
prevLabel:"上一步",
nextLabel:"下一步",
skipLabel:"跳过",
doneLabel:"结束",
//对应的数组,顺序出现每一步引导提示
steps: [
{
//第一步引导
//这个属性类似于jquery的选择器, 可以通过jquery选择器的方式来选择你需要选中的对象进行指引
element: '#selfDi',
//这里是每个引导框具体的文字内容,中间可以编写HTML代码
intro: '<font style="color:#4f98fd;">点击“自动选取”按钮,一键智能选取 结节层面和位置。 </font>',
//这里可以规定引导框相对于选中对象出现的位置 top,bottom,left,right
position: 'right'
},
{
//第一步引导
element: '.ide',
//这里是每个引导框具体的文字内容,中间可以编写HTML代码
intro: '<font style="color:#4f98fd;">点击“手动选取”按钮, 手动选择需要检测的结节层面</font>',
//这里可以规定引导框相对于选中对象出现的位置 top,bottom,left,right
position: 'right'
},
{
//第二步引导
element: '#next',
intro: '<font style="color:#4f98fd;">点击“上一张”、“下一张”按钮,跳转至不同层面 也可点击“播放”按钮,自动播放层面幻灯片</font>',
position: 'right'
},
{
//第三步引导
element: '#dicom',
intro: '<font style="color:#4f98fd;">在方框中点击并拖拽鼠标画圈,选取结节位置范围</font>',
position: 'left'
},
{
//第三步引导
element: '#diaButton',
intro: '<font style="color:#4f98fd;">点击“开始检测”按钮,对选取的全部结节位置 进行智能检测,等待计算结果</font>',
position: 'right'
},
{
//第三步引导
element: '.sign',
intro: '<font style="color:#4f98fd;">升级VIP用户,对影像图进行标注。</font>',
position: 'right'
} ] }).start();

先说代码结尾的start()方法,就是启用分步引导的函数,代码中给出了实现的代码,把这段代码写在需要调用的地方,何处调用?如何判断?方法就是读取cookie,根据cookie的状态来判定用户是否第一次使用网站,下一篇会具体写到,本篇只介绍IntroJs。

作为测试代码,可以把上述代码写在页面加载就启用,测试版本。

element:需要绑定的具体元素,可以是按钮、图片、或者div。

intro:引导的具体内容,可以写文字,或者是html代码

position:Top、right、bottom、left来指示引导内容的位置。

代码中只写了3步引导,具体根据自己实际项目添加。最后调用代码:

前端分布引导插件IntroJs的使用的更多相关文章

  1. 网站功能操作分布引导插件:Intro.js介绍;React里如何使用Intro.js以及如何进行分页导航

    插件作用:使用向导,引导新用户正确使用Web网站.我的环境是React+Mobx. 基本使用介绍,参加代码地址里的README.md:https://github.com/usablica/intro ...

  2. 推荐15款最佳的 jQuery 分步引导插件

    当用户浏览到一个网站,它可能从不知道如何浏览,如何操作网站或 Web 应用程序的内容和流程.在这篇文章中,我们编制了一些最好的 jQuery 引导插件列表.你会发现这些插件对于提高你的网站的整体用户体 ...

  3. BlueDream.js(蓝梦)——jQuery网站使用引导插件

    小菜在前端世界游荡有些时间了,常见的插件多少有些了解,但却很少看到用户引导插件. 所谓用户引导插件,就是在第一次使用某个网站时,会弹出一些小动画,告诉你网站的基本使用方法,帮你快速入门. 这应该是个常 ...

  4. CDN公共库、前端开发常用插件一览表(VendorPluginLib)

    =======================================================================================前端CDN公共库===== ...

  5. Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN

    Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN.NET http://blog.csdn.net/borishuai/article/details ...

  6. WordPress 前端用户投稿插件 Frontend Publishing

    WordPress添加投稿功能(无需注册/可邮件通知站长和投稿人) WordPress匿名投稿插件:DX-Contribute (有朋友反馈不能用) WordPress投稿插件:User Submit ...

  7. WordPress 前端投稿/编辑插件 DJD Site Post(支持游客和已注册用户)

    转自:http://www.wpdaxue.com/front-end-publishing.html 说到前端用户投稿,倡萌之前推荐过3个不错的插件: WordPress匿名投稿插件:DX-Cont ...

  8. Notepad++前端开发常用插件介绍

    Notepad++前端开发常用插件介绍 Notepad++除了自身的功能强大之外,更是有许多非常的优秀的插件,下面就总结一下前端开发过程一些比较常用的插件. Emmet Emmet的前身是Zen Co ...

  9. JS前端图形化插件之利器Gojs组件(php中文网)

    JS前端图形化插件之利器Gojs组件(php中文网) 一.总结 一句话总结:php中文网我可以好好走一波 二.JS前端图形化插件之利器Gojs组件 参考: JS前端图形化插件之利器Gojs组件-js教 ...

随机推荐

  1. 【Python之路】第二十一篇--Memcached、Redis

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  2. 定时备份DB和WEB文件

    sql.sh #!/bin/bash ##备份数据库: 每4小时 date2=`date "+%Y-%m-%d---%H.%M.%S"` /alidata/server/mysql ...

  3. python创建进程的两种方式

    1.方式1 import time import multiprocessing def task(arg): time.sleep(2) print(arg) def run(): # 进程1 p1 ...

  4. Python基础教程-List和Tuple

    List Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如: >>> classmates = ['Michael',' ...

  5. Tomcat的session

    创建session 在具体说明session的创建过程之前,先看一下BS访问模型:  browser发送Http request: tomcat内核Http11Processor会从HTTP requ ...

  6. python 自动获取(打印)代码中的变量的名字字串

    方法一: import inspectimport re def varname(p): for line in inspect.getframeinfo(inspect.currentframe() ...

  7. 在SQLPLUS里显示IP、用户名和实例名

    在SQLPLUS里显示IP.用户名和实例名 方法一: 编辑$ORACLE_HOME/sqlplus/admin/glogin.sql文件在末尾加入下面的内容即可 define  gname = 'SQ ...

  8. [转]Asp.net MVC 中Ajax的使用

    Asp.net MVC 抛弃了Asp.net WebForm那种高度封装的控件,让我们跟底层的HTML有了更多的亲近.可以更自由.更灵活的去控制HTML的结构.样式和行为.而这点对于Ajax的应有来说 ...

  9. s5_day7装饰器作业

    # 一:编写函数,(函数执行的时间是随机的) import time import random # def foo(): # time.sleep(random.randrange(1,5)) # ...

  10. Java集合(6):TreeSet

    一.TreeSet介绍 与HashSet是基于HashMap实现一样,TreeSet是基于TreeMap实现的.TreeSet是一个有序集合,TreeSet中的元素将按照升序排列,缺省是按照自然排序进 ...