jquery tools之tooltip


Posted in Javascript onJuly 25, 2009

如tabs的学习,首先给出操作的html目标代码:

<form id="myform"> 
<h3> Registration Form</h3> 
<!-- username --> 
<label for="username">Username</label> 
<input id="username" /> 
<div class="tooltip">Must be at least 8 characters.</div><br/> 
<!-- password --> 
<label for="password">Password</label> 
<input id="password" type="password" /> 
<div class="tooltip">Try to make it hard to guess.</div><br /> 
<!-- email --> 
<label for="username">Email</label> 
<input id="email" /> 
<div class="tooltip">We won't send you any marketing material.</div><br /> 
<!-- message --> 
<label for="body">Message</label> 
<textarea id="body"></textarea> 
<div class="tooltip">What's on your mind?</div><br /> 
</form>

该功能是通过jqueryObject.tooltip()方法来实现的,其中tabs方法提供以下两种方式:
1. $("#myform :input").tooltip()//该方法能采用默认方法显示提示信息栏
2. $("#myform :input").tooltip({config object}) //该方法通过配置对象将来灵活组织提示信息栏的显示。
以下代码为第二种方式的配置参数实现(只需将该实现放于jquery的ready方法中即可):
$("#myform :input").tooltip({ 
position:['center','right'], 
offset:[-2,10], 
effect:'fade', 
fadeInSpeed:300//此属性只有在effect为fade时有效 
delay:0, 
opacity:1, 
tip:"", 
api:false, 
onBeforeShow:function(){ 
//alert(this.getTip().html());//this在该回调函数代表即将显示的tooltip对象 
//,关于该api对象的操作参见获取tolltip对象的方法 
}, 
onShow:function(){ 
//alert(this.getTip().html()); 
}, 
onBeforeHide:function(){ 
//alert(this.getTip().html()); 
}, 
onHide:function(){ 
//alert(this.getTip().html()); 
} 
});

下面就以上配置参数说明描述如下:

 

属性 默认值 描述
effect slideup' 设置提示框出项和隐藏方式,系统提供提供三种effect:toggle,fade,slideup,当然用户也可以定制所需的effect。对于系统提供的三种effect,系统也提供了与其对应的配置参数,这里会在下面单独仔细描述。
delay 30 设置鼠标离开触发提示框的触发器后提示框显示时间
offset [0, 0] 精确的调整提示框的位置,该属性具体使用将在下面提示框位置说明中详细描述。
opacity 1 设置提示框的透明度,取值为0-1,值越大表示提示框透明度越低,0为完全透明,此时提示框如同不显示,为1则提示框完全不透明如果背景图片设置为PNG24图形格式,则可以设置背景图片的透明度
position ['top', 'center'] 初略的设置提示框位置,如需精确控制提示框位置,需配合offset使用,该属性具体使用将在下面提示框位置说明中详细描述。
tip 设置存储提示框信息的页面元素,tip值格式为jquery选择器格式.默认情况下,提示框信息存放于触犯器元素的下一个紧邻的兄弟节点处,如果该处选择器选择的是页面元素id的话,那么该页面元素将成为所有触发器的提示信息;否则,如果选择器选择出多个结果,那么,每个触发器都会找到其后第一个符合的页面元素作为提示信息.如果没有的话,就从触发器父亲节点重新检索。
api FALSE 设置当前tooltip所在容器的返回类型类型。如果为false(默认值),以jquery对象返回;否则,以js对象返回。如果存在多个值,返回最后一个值。
onBeforeShow 提示信息出现之前调用该属性触发的函数,如果该回调函数返回false,那么就会阻止提示信息显示。
onShow 提示信息显示后调用该属性触发的函数
onBeforeHide 提示信息显示后调用该属性该属性触发的函数,如果该回调函数返回false,那么就会阻止提示信息隐藏
onHide 提示信息隐藏后调用该属性该属性触发的函数

提示框位置说明

       提示框位置通过config配置对象的positionoffset属性来设置实现。这两个属性都是用js数组进行值存放的。

       Position属性用来设置提示信息相对于它的触发元素位置。比如说,如果该属性值为[‘bottom','center'],那么提示信息将会出现在其触发元素的正下方(垂直位置为下方,水平位置为中间)。下图能很好的描述触发元素与提示信息的位置关系:

jquery tools之tooltip

 

offset属性用来进一步精确的调整提示框的位置。比如:[10,-20]表示提示信息向下10px并向左偏移20px。数组的前一个值用于描述提示框距其上边框向下偏移的值;数组的后一个值 用于描述提示框距其左边框向右偏移的值。

系统内置effect描述

系统内置的三种effect及其参数设置说明:

 toggle:一种简单的显示/隐藏效果,这里tooltip没有提供与之对应的配置参数

fade:一种逐渐显示/逐渐隐藏的效果,这里tooltip提供了两个与其对应的配置参数:

fadeInSpeed——默认值为200ms,用于设置提示信息逐渐显示的速度。

fadeUotSpeed——默认值为200ms,用于设置提示信息逐渐隐藏的速度。

 slideup:一种逐渐向上/下滑动的效果,这里tooltip提供了三个与其对应的配置参数:

slideOffset——默认值为10,用于描述提示信息在垂直方向上滑动到距触发元素的距离,如果为正值,那么就是向上滑动,否则为向下滑动。

slideInSpeed——默认值为200ms。用于设置提示信息滑动显示的速度(时间)

slideOutSpeed——默认值为200ms。用于设置提示信息滑动消失的速度(时间)

此外,tooltip还提供了一系列获取tooltip对象的方法,具体实现描述如下:

var tooltip=$("#myform input").tooltip(2);//取第3个tooltip对象 
tooltip.show(); 
tooltip.hide(); 
//alert(tooltip.isShown()); 
//alert(tooltip.getTip().html()); 
//alert(tooltip.getTrigger().next().html()); 
//alert(tooltip.getConf().effect); 
tooltip.onBeforeShow=function() 
//alert(this.getTip().html()); 
} tooltip.onShow=function(){ 
alert(this.getTip().html()); 
} 
tooltip.onBeforeHide=function(){ 
alert(this.getTip().html()); 
} 
tooltip.onHide=function(){ 
alert(this.getTip().html()); 
}

下面就以上获取tooltip对象的方法说明描述如下:

方法名 返回值 描述
show() API 显示提示信息,如果取到多个tooltip对象,默认显示第一个tooltip对象提示信息
hide() API 隐藏提示信息
isShown() boolean 该tooltip对象的提示信息是否处于显示状态
getTip() jQuery 将当前tooltip对象转换为jquery对象
getTrigger() jQuery 将当前tooltip的触发器对象转换为jquery对象
getConf() Object getConf()获取当前触发器器配置对象,对于对象内的每个属性调用只需直接取属性名即可
onBeforeShow API 同Config参数配置对象中的onBeforeShow
onShow API 同Config参数配置对象中的onShow
onBeforeHide API 同Config参数配置对象中的onBeforeHide
onHide API 同Config参数配置对象中的onHide

 最后,以jquery tools上几个demo的截图为结尾:

jquery tools之tooltip

 

jquery tools之tooltip

 

jquery tools之tooltip

Javascript 相关文章推荐
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
浅析XMLHttpRequest的缓存问题
Dec 13 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
Apr 11 Javascript
jQuery中click事件的定义和用法
Dec 20 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
js实现文字在按钮上滚动的方法
Aug 20 Javascript
Jquery attr()方法 属性赋值和属性获取详解
Apr 15 Javascript
微信小程序tabBar底部导航中文注解api详解
Aug 16 Javascript
浅谈webpack编译vue项目生成的代码探索
Dec 11 Javascript
小程序自定义组件实现城市选择功能
Jul 18 Javascript
对angular4子路由&amp;辅助路由详解
Oct 09 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
Aug 10 Javascript
jquery tools之tabs 选项卡/页签
Jul 25 #Javascript
jquery JSON的解析方式
Jul 25 #Javascript
jqPlot Option配置对象详解
Jul 25 #Javascript
jqPlot jquery的页面图表绘制工具
Jul 25 #Javascript
IE DOM实现存在的部分问题及解决方法
Jul 25 #Javascript
从父页面读取和操作iframe中内容方法
Jul 25 #Javascript
javaScript 数值型和字符串型之间的转换
Jul 25 #Javascript
You might like
PHP操作XML作为数据库的类
2010/12/19 PHP
PHP面向对象概念
2011/11/06 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
jQuery.extend 函数详解
2012/02/03 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
vue使用微信JS-SDK实现分享功能
2019/08/23 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
浅析python递归函数和河内塔问题
2017/04/18 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
Pycharm修改python路径过程图解
2020/05/22 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
美的官方商城:Midea
2016/09/14 全球购物
比利时香水网上商店:NOTINO
2018/03/28 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
2014年护士长工作总结
2014/11/11 职场文书
还款承诺书范本
2015/01/20 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
行政处罚决定书
2015/06/24 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
Nginx进程调度问题详解
2021/09/25 Servers
Python 正则模块详情
2021/11/02 Python
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript