jQuery提示插件qTip2用法分析(支持ajax及多种样式)


Posted in Javascript onJune 08, 2016

本文实例讲述了jQuery提示插件qTip2用法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Qtip2 插件提示</title>
  <link href="jquery.qtip.css" rel="stylesheet" type="text/css" />
  <script src="jquery.min.js" type="text/javascript"></script>
  <script src="jquery.qtip.min.js" type="text/javascript"></script>
  <script type="text/javascript">
    /*
    从官方网站下载最新版本时,可以选择相应的样式及插件;可选的样式包括几种色彩风格(Colour Styles)、CSS3相关样式如圆角;
    以及以下各种插件,可根据自己需要选择:
    Ajax,这个不用说,请求远程内容的
    Tips,气泡对话效果,如箭头
    Modal,模态对话框效果,如jQuery UI Dialog / ThickBox 的效果
    Image map,提供对map内area标记的提示支持
    SVG,对SVG元素提供提示的支持
    BGIFrame,用于IE6这种古董,如遮住select控件等
    除了以上插件的功能外,它的主要功能有(仅列出较常用的):
    设置提示的内容、标题、关闭按钮等
    使用元素的属性,来作为提示信息内容,如链接的标题(<a title="提示信息")、图片的提示(<img src="提示信息")等等
    提示信息显示的位置
    提示信息的目标,即显示到什么元素上
    提示信息显示/隐藏触发的事件,如鼠标移到元素上、点击(mouseenter,click)
    提示信息显示/隐藏的效果
    外观的定义,通过相应样式设置
    跟随可拖动目标、鼠标指针等
    */
    $(function () {
      //普通
      $("#demo1").qtip({
        content: "这是提示内容(By Hu Sir)"
      });
      //带标题
      $("#demo2").qtip({
        content: {
          text: "<b>这是提示内容</b>(By Hu Sir)",
          title: "提示标题"
        }
      });
      //带关闭按钮的提示 且延时3秒关闭
      $("#demo3").qtip({
        content: {
          text: "这是提示内容(By Hu Sir)",
          title: "提示标题",
          button: "关闭"
        },
        hide: {
          event: false,  //设置不自动关闭 可配合inactive组合使用
          inactive: 3000  //设置延时关闭
        }
      });
      //使用AJAX请求远程
      $("#demo4").qtip({
        content: {
          text: "加载中...",
          ajax: {
            url: "lwmeAtCnblogs.aspx?name=Hu"
          }
        }
      });
      //点击时出现模态对话框
      $("#demo5").qtip({
        content: "这是提示内容(By Hu Sir)",
        show: {
          event: 'click', // Show it on click...
          solo: true, // ...and hide all other tooltips... $('#div1')
          modal: true // ...and make it modal
        },
        hide: false
      });
      //页面加载完成时显示,且不会自动隐藏:
      $("#demo6").qtip({
        content: "这是提示内容(By Hu Sir)",
        show: {
          ready: true
        },
        style: {
          //换样式 阴影 圆角叠加
          classes: 'qtip-light qtip-shadow qtip-rounded'
        },
        hide: false,
        position: {
          my: 'bottom left',
          at: 'top center'
        }
      });
      //鼠标跟随
      $('#demo7').qtip({
        content: {
          text: 'I am positioned in relation to the mouse'
        },
        position: {
          target: 'mouse',
        }
      });
      //使用元素的属性作为提示信息:
      // $("a[title]").qtip(); //从链接的title
      // $("img[alt]").qtip(); //从img的alt
      // $("div[title]").qtip(); //从div的title
      //也可以显式指定元素属性作为提示信息:
      //$('img[alt]').qtip({
      //  content: {
      //   attr: 'alt'
      //  }
      //});
      //另外对于ajax则有以下主要参数可以设置(与jQuery.ajax一致):
      //$('.selector').qtip({
      //  content: {
      //   text: 'Loading...', // Loading text...
      //   ajax: {
      //     url: '/path/to/file', // URL to the JSON script
      //     type: 'GET', // POST or GET
      //     data: { id: 3 }, // Data to pass along with your request
      //     dataType: 'json', // Tell it we're retrieving JSON
      //     success: function(data, status) {
      //     //...
      //     }
      //   }
      //  }
      //});
    });
  </script>
</head>
<body>
  <div id="div1">
  <span id="demo1">测试一</span><br/><br/>
  <span id="demo2">测试二</span><br/><br/>
  <span id="demo3">测试三</span><br/><br/>
  <span id="demo4">测试四</span><br/><br/>
  <span id="demo5">测试五</span><br/><br/><br/><br/>
  <span id="demo6">测试六</span><br/><br/>
  <span id="demo7">测试七</span><br/><br/>
  </div>
</body>
</html>
$.fn.qtip.defaults = {
  // 页面加载完成就创建提示信息的元素
  prerender: false,
  // 为提示信息设置id,如设置为myTooltip
  // 就可以通过ui-tooltip-myTooltip访问这个提示信息
  id: false,
  // 每次显示提示都删除上一次的提示
  overwrite: true,
  // 通过元素属性创建提示
  // 如a[title],把原有的title重命名为oldtitle
  suppress: true,
  // 内容相关的设置
  content: {
   // 提示信息的内容
   // 如果只设置内容可以直接 content: "提示信息"
   // 而不需要 content: { text: { "提示信息" } }
   text: true,
   // 提示信息使用的元素属性
   attr: 'title',
   // ajax插件
   ajax: false,
   title: {
     // 提示信息的标题
     // 如果只设置标题可以直接 title: "标题"
     text: false,
     // 提示信息的关闭按钮
     // 如button:"x",button:"关闭"
     // 都可以启用关闭按钮
     button: false
   }
  },
  // 位置相关的设置
  position: {
   // 提示信息的位置
   // 如提示的目标元素的右下角(at属性)
   // 对应 提示信息的左上角(my属性)
   my: 'top left',
   at: 'bottom right',
   // 提示的目标元素,默认为选择器
   target: FALSE,
   // 提示信息默认添加到的容器
   container: FALSE,
   // 使提示信息在指定目标内可见,不会超出边界
   viewport: FALSE,
   adjust: {
     // 提示信息位置偏移
     x: 0, y: 0,
     mouse: TRUE,
     resize: TRUE,
     method: 'flip flip'
   },
   // 特效
   effect: function(api, pos, viewport) {
     $(this).animate(pos, {
      duration: 200,
      queue: FALSE
     });
   }
  },
  // 显示提示的相关设置
  show: {
   // 触发事件的目标元素
   // 默认为选择器
   target: false,
   // 事件名称,默认为鼠标移到时
   // 可以改为click点击
   event: 'mouseenter',
   // 特效
   effect: true,
   // 延迟显示时间
   delay: 90,
   // 隐藏其他提示
   solo: false,
   // 在页面加载完就显示提示
   ready: false,
   modal: {
     // 启用模态对话框效果
     on: false,
     // 特效
     effect: true,
     blur: true,
     escape: true
   }
  },
  // 隐藏提示的相关设置
  // 参考show
  hide: {
   target: false,
   event: 'mouseleave',
   effect: true,
   delay: 0,
   // 设置为true时,不会隐藏
   fixed: false,
   inactive: false,
   leave: 'window',
   distance: false
  },
  // 样式相关
  style: {
   // 样式名称
   classes: '',
   widget: false,
   width: false,
   height: false,
   // tip插件,箭头相关设置
   tip: {
     corner: true,
     mimic: false,
     width: 8,
     height: 8,
     border: true,
     offset: 0
   }
  },
  // 相关事件绑定
  events: {
   render: null,
   move: null,
   show: null,
   hide: null,
   toggle: null,
   visible: null,
   focus: null,
   blur: null
  }
};

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
国外Lightbox v2.03.3 最新版 下载
Oct 17 Javascript
javascript奇异的arguments分析
Oct 20 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
Sep 20 Javascript
Jquery submit()无法提交问题
Apr 21 Javascript
JavaScript实现网页截图功能
Oct 16 Javascript
JavaScript基于对象去除数组重复项的方法
Oct 09 Javascript
基于javascript实现数字英文验证码
Jan 25 Javascript
js eval函数使用,js对象和字符串互转实例
Mar 06 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
iscroll实现下拉刷新功能
Jul 18 Javascript
Node.js搭建小程序后台服务
Jan 03 Javascript
jQuery 筛选器简单操作示例
Oct 02 jQuery
JavaScript中两个字符串的匹配
Jun 08 #Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 #Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
Jun 08 #Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 #Javascript
Javascript之String对象详解
Jun 08 #Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 #Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 #Javascript
You might like
PHP学习 运算符与运算符优先级
2008/06/15 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
python根据出生年份简单计算生肖的方法
2015/03/27 Python
Python如何获取系统iops示例代码
2016/09/06 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
pycharm修改file type方式
2019/11/19 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
红旗团支部事迹材料
2014/01/27 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
解析redis hash应用场景和常用命令
2021/08/04 Redis