博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
qTip2 精致的jQuery提示信息插件
阅读量:5132 次
发布时间:2019-06-13

本文共 6000 字,大约阅读时间需要 20 分钟。

2012-02-16 22:31 by 囧月, 2176 visits, , 

是一个灰常强大且精致的jQuery提示信息插件,是的第2版,也是一个全新的版本,提供了丰富的功能及漂亮的外观,非常易于使用。

qTip2采用了MIT/GPLv2许可,官方网站为:,目前还没发布一个稳定版,Nightly版本经常会更新,当然这并不影响正常使用。

简介

若不放心可以尝试旧版的qTip,但在一些参数上会有所不同;若是从qTip升级到qTip2,可以使用官方提供的转换工具来升级你的代码:。

如果使用时出现问题,那么直接下载以下3个文件吧,至少官方演示很正常:

1
2
3
<
link
href
=
""
rel
=
"stylesheet"
/>
<
script
src
=
""
></
script
>
<
script
src
=
""
></
script
>

从官方网站下载最新版本时,可以选择相应的样式及插件;可选的样式包括几种色彩风格(Colour Styles)、CSS3相关样式如圆角;以及以下各种插件,可根据自己需要选择:

  1. Ajax,这个不用说,请求远程内容的
  2. Tips,气泡对话效果,如箭头
  3. Modal,模态对话框效果,如 /  的效果
  4. Image map,提供对map内area标记的提示支持
  5. SVG,对SVG元素提供提示的支持
  6. BGIFrame,用于IE6这种古董,如遮住select控件等

除了以上插件的功能外,它的主要功能有(仅列出较常用的):

  1. 设置提示的内容、标题、关闭按钮等
  2. 使用元素的属性,来作为提示信息内容,如链接的标题(<a title="提示信息")、图片的提示(<img src="提示信息")等等
  3. 提示信息显示的位置
  4. 提示信息的目标,即显示到什么元素上
  5. 提示信息显示/隐藏触发的事件,如鼠标移到元素上、点击(mouseenter,click)
  6. 提示信息显示/隐藏的效果
  7. 外观的定义,通过相应样式设置
  8. 跟随可拖动目标、鼠标指针等

使用方法

以下就简单演示一些使用方法

创建一个最简单的提示:

1
2
3
$(
"#demo2"
).qtip({
  
content:
"这是提示内容(by囧月)"
});

创建一个带标题的提示:

1
2
3
4
5
6
$(
"#demo3"
).qtip({
  
content: {
    
text:
"这是提示内容(by囧月 lwme.cnblogs.com)"
    
, title:
"提示标题"
  
}
});

带关闭按钮的提示:

1
2
3
4
5
6
7
8
9
$(
"#demo3"
).qtip({
  
content: {
    
text:
"这是提示内容(by囧月 lwme.cnblogs.com)"
    
, title: {
      
text:
"提示标题"
      
, button:
"关闭"
    
}
  
}
});

使用元素的属性作为提示信息:

1
2
3
$(
"a[title]"
).qtip();
//从链接的title
$(
"img[alt]"
).qtip();
//从img的alt
$(
"div[title]"
).qtip();
//从div的title

也可以显式指定元素属性作为提示信息:

1
2
3
4
5
$(
'img[alt]'
).qtip({
   
content: {
      
attr:
'alt'
   
}
});

使用AJAX请求远程:

1
2
3
4
5
6
7
8
$(
"#demo4"
).qtip({
  
content: {
    
text:
"加载中..."
,
    
ajax: {
      
url:
"lwmeAtCnblogs.aspx?name=囧月"
    
}
  
}
});

设置位置及样式:

1
2
3
4
5
6
7
8
9
$(
"#demo5"
).qtip({
  
position: {
    
my:
'bottom left'
,
    
at:
'top center'
  
},
  
style: {
    
classes:
'ui-tooltip-red'
  
}
});

点击时出现模态对话框:

1
2
3
4
5
6
7
8
9
$(
'button'
).qtip({
  
content:
"这是提示内容(by囧月 lwme.cnblogs.com)"
,
  
show: {
    
event:
'click'
,
// Show it on click...
    
solo:
true
,
// ...and hide all other tooltips...
    
modal:
true
// ...and make it modal
  
},
  
hide:
false
});
页面加载完成时显示,且不会自动隐藏:
1
2
3
4
5
6
7
$(
'button'
).qtip({
  
content:
"这是提示内容(by囧月 lwme.cnblogs.com)"
,
  
show: {
    
ready:
true
  
},
  
hide:
false
});

参数设置

先看一下qTip2默认的参数设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
$.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
   
}
};

看起来是很多,但是使用频率最高的估计也就以下这些参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$.fn.qtip.defaults = {
   
content: {
      
text:
true
,
      
attr:
'title'
,
      
ajax:
false
,
      
title: {
         
text:
false
,
         
button:
false
      
}
   
},
   
position: {
      
my:
'top left'
,
      
at:
'bottom right'
,
   
},
   
show: {
      
event:
'mouseenter'
,
      
solo:
false
,
      
ready:
false
,
      
modal:
false
   
},
   
hide: {
      
event:
'mouseleave'
   
},
   
style:
'ui-tooltip-default'
};

对于显示的位置,有以下参数可以设置:

1
2
3
4
5
6
7
8
9
10
11
12
my = [
'top left'
,
'top right'
,
'top center'
,
'bottom left'
,
'bottom right'
,
'bottom center'
,
'right center'
,
'right top'
,
'right bottom'
,
'left center'
,
'left top'
,
'left bottom'
,
'center'
]
at = [
'bottom left'
,
'bottom right'
,
'bottom center'
,
'top left'
,
'top right'
,
'top center'
,
'left center'
,
'left top'
,
'left bottom'
,
'right center'
,
'right top'
,
'right bottom'
,
'center'
]

而对于显示的色彩风格则有以下各种颜色:

1
[
'red'
,
'blue'
,
'dark'
,
'light'
,
'green'
,
'jtools'
,
'plain'
,
'youtube'
,
'cluetip'
,
'tipsy'
,
'tipped'
]

比如red就是ui-tooltip-red,默认为default。另外还有ui-tooltip-shadowui-tooltip-rounded分别表示阴影、圆角效果,可以叠加,如下:

1
2
3
4
5
6
$(
"#demo2"
).qtip({
  
content:
"这是提示内容(by囧月)"
  
, style: {
    
classes:
'ui-tooltip-red ui-tooltip-shadow ui-tooltip-rounded'
  
}
});

另外对于ajax则有以下主要参数可以设置(与jQuery.ajax一致):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$(
'.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) {
          
//...
         
}
      
}
   
}
});
需要注意的是,
AJAX默认使用GET请求而且启用了cache

结尾

关于qTip2就介绍到这里,更多信息请参阅以下链接:

官方网站:

在线演示:

官方文档:

最后,放一个。

转载于:https://www.cnblogs.com/chu888chu888/archive/2012/03/09/2388199.html

你可能感兴趣的文章
今天新开通了博客
查看>>
AS3优化性能笔记二
查看>>
ElasticSearch(站内搜索)
查看>>
4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)
查看>>
UVA 11137 - Ingenuous Cubrency
查看>>
js阻止事件冒泡的两种方法
查看>>
Java异常抛出
查看>>
[SQL Server 系] T-SQL数据库的创建与修改
查看>>
74HC164应用
查看>>
变量声明和定义的关系
查看>>
Wpf 之Canvas介绍
查看>>
linux history
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>