jquery tools系列(二)——tooltip

本文详细介绍如何使用jQuery Tools插件中的Tooltip功能实现输入框提示信息,并深入解析配置选项及自定义效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着上次tabs的学习,今天继续jquery tools六大功能的第二个功能——tooltip的学习。

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

[javascript] view plain copy
  1. <form id="myform">  
  2.  <h3> Registration Form</h3>  
  3.  <!-- username -->  
  4.  <label for="username">Username</label>  
  5.  <input id="username" />  
  6.  <div class="tooltip">Must be at least 8 characters.</div><br/>  
  7.  <!-- password -->  
  8.  <label for="password">Password</label>  
  9.  <input id="password" type="password" />  
  10.  <div class="tooltip">Try to make it hard to guess.</div><br />  
  11.  <!-- email -->  
  12.  <label for="username">Email</label>  
  13.  <input id="email" />  
  14.  <div class="tooltip">We won't send you any marketing material.</div><br />  
  15.  <!-- message -->  
  16.  <label for="body">Message</label>  
  17.  <textarea id="body">  

 

 

      该功能是通过jqueryObject.tooltip()方法来实现的,其中tooltip方法提供以下两种方式:

 

       1. $("#myform :input").tooltip()//该方法能采用默认方法显示提示信息栏

       2.  $("#myform :input").tooltip({config object}) //该方法通过配置对象将来灵活组织提示信息栏的显示。

以下代码为第二种方式的配置参数实现(只需将该实现放于jquery的ready方法中即可):

[javascript:showcolumns:firstline[1]] view plain copy
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  1. $("#myform :input").tooltip({  
  2.      position:['center','right'],  
  3.      offset:[-2,10],  
  4.      effect:'fade',   
  5. fadeInSpeed:300//此属性只有在effect为fade时有效  
  6.      delay:0,       
  7.      opacity:1,    
  8.       tip:"",     
  9.       api:false,   
  10.       onBeforeShow:function(){  
  11.        //alert(this.getTip().html());//this在该回调函数代表即将显示的tooltip对象  
  12.                                   //,关于该api对象的操作参见获取tolltip对象的方法  
  13.       },  
  14.       onShow:function(){  
  15.        //alert(this.getTip().html());  
  16.       },  
  17.       onBeforeHide:function(){  
  18.        //alert(this.getTip().html());                
  19.       },  
  20.       onHide:function(){  
  21.        //alert(this.getTip().html());  
  22.       }  
  23.     });  
 

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

 

属性默认值描述
effectslideup'

设置提示框出项和隐藏方式,系统提供提供三种effect:toggle,fade,slideup,当然用户也可以定制所需的effect。对于系统提供的三种effect,系统也提供了与其对应的配置参数,这里会在下面单独仔细描述。

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

 

提示框位置说明

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

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

jquery tools之tooltip - gaoyusi - My co<wbr>de life

 

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对象的方法,具体实现描述如下:

 

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  1. var tooltip=$("#myform input").tooltip(2);//取第3个tooltip对象  
  2.     tooltip.show();  
  3.     tooltip.hide();  
  4.     //alert(tooltip.isShown());  
  5.     //alert(tooltip.getTip().html());  
  6.     //alert(tooltip.getTrigger().next().html());  
  7.     //alert(tooltip.getConf().effect);  
  8.     tooltip.onBeforeShow=function()  
  9.      //alert(this.getTip().html());  
  10.     }     
  11.       
  12.     tooltip.onShow=function(){  
  13.      alert(this.getTip().html());  
  14.     }       
  15.       
  16.     tooltip.onBeforeHide=function(){  
  17.      alert(this.getTip().html());  
  18.     }      
  19.       
  20.     tooltip.onHide=function(){  
  21.      alert(this.getTip().html());  
  22.     }  
 

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

 

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

转载于:https://www.cnblogs.com/piuba/archive/2012/07/30/2615644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值