|
復(fù)制代碼 代碼如下:
<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()方法來實現(xiàn)的,其中tabs方法提供以下兩種方式:
1. $("#myform :input").tooltip()//該方法能采用默認(rèn)方法顯示提示信息欄
2. $("#myform :input").tooltip({config object}) //該方法通過配置對象將來靈活組織提示信息欄的顯示。
以下代碼為第二種方式的配置參數(shù)實現(xiàn)(只需將該實現(xiàn)放于jquery的ready方法中即可):
復(fù)制代碼 代碼如下:
$("#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在該回調(diào)函數(shù)代表即將顯示的tooltip對象
//,關(guān)于該api對象的操作參見獲取tolltip對象的方法
},
onShow:function(){
//alert(this.getTip().html());
},
onBeforeHide:function(){
//alert(this.getTip().html());
},
onHide:function(){
//alert(this.getTip().html());
}
});
下面就以上配置參數(shù)說明描述如下:
屬性 | 默認(rèn)值 | 描述 |
effect | slideup' | 設(shè)置提示框出項和隱藏方式,系統(tǒng)提供提供三種effect:toggle,fade,slideup,當(dāng)然用戶也可以定制所需的effect。對于系統(tǒng)提供的三種effect,系統(tǒng)也提供了與其對應(yīng)的配置參數(shù),這里會在下面單獨仔細(xì)描述。 |
delay | 30 | 設(shè)置鼠標(biāo)離開觸發(fā)提示框的觸發(fā)器后提示框顯示時間 |
offset | [0, 0] | 精確的調(diào)整提示框的位置,該屬性具體使用將在下面提示框位置說明中詳細(xì)描述。 |
opacity | 1 | 設(shè)置提示框的透明度,取值為0-1,值越大表示提示框透明度越低,0為完全透明,此時提示框如同不顯示,為1則提示框完全不透明如果背景圖片設(shè)置為PNG24圖形格式,則可以設(shè)置背景圖片的透明度 |
position | ['top', 'center'] | 初略的設(shè)置提示框位置,如需精確控制提示框位置,需配合offset使用,該屬性具體使用將在下面提示框位置說明中詳細(xì)描述。 |
tip | 設(shè)置存儲提示框信息的頁面元素,tip值格式為jquery選擇器格式.默認(rèn)情況下,提示框信息存放于觸犯器元素的下一個緊鄰的兄弟節(jié)點處,如果該處選擇器選擇的是頁面元素id的話,那么該頁面元素將成為所有觸發(fā)器的提示信息;否則,如果選擇器選擇出多個結(jié)果,那么,每個觸發(fā)器都會找到其后第一個符合的頁面元素作為提示信息.如果沒有的話,就從觸發(fā)器父親節(jié)點重新檢索。 | |
api | FALSE | 設(shè)置當(dāng)前tooltip所在容器的返回類型類型。如果為false(默認(rèn)值),以jquery對象返回;否則,以js對象返回。如果存在多個值,返回最后一個值。 |
on | 提示信息出現(xiàn)之前調(diào)用該屬性觸發(fā)的函數(shù),如果該回調(diào)函數(shù)返回false,那么就會阻止提示信息顯示。 | |
on | 提示信息顯示后調(diào)用該屬性觸發(fā)的函數(shù) | |
on | 提示信息顯示后調(diào)用該屬性該屬性觸發(fā)的函數(shù),如果該回調(diào)函數(shù)返回false,那么就會阻止提示信息隱藏 | |
on | 提示信息隱藏后調(diào)用該屬性該屬性觸發(fā)的函數(shù) |
提示框位置說明
提示框位置通過config配置對象的position和offset屬性來設(shè)置實現(xiàn)。這兩個屬性都是用js數(shù)組進(jìn)行值存放的。
Position屬性用來設(shè)置提示信息相對于它的觸發(fā)元素位置。比如說,如果該屬性值為[‘bottom','center'],那么提示信息將會出現(xiàn)在其觸發(fā)元素的正下方(垂直位置為下方,水平位置為中間)。下圖能很好的描述觸發(fā)元素與提示信息的位置關(guān)系:
offset屬性用來進(jìn)一步精確的調(diào)整提示框的位置。比如:[10,-20]表示提示信息向下10px并向左偏移20px。數(shù)組的前一個值用于描述提示框距其上邊框向下偏移的值;數(shù)組的后一個值 用于描述提示框距其左邊框向右偏移的值。
系統(tǒng)內(nèi)置effect描述
系統(tǒng)內(nèi)置的三種effect及其參數(shù)設(shè)置說明:
toggle:一種簡單的顯示/隱藏效果,這里tooltip沒有提供與之對應(yīng)的配置參數(shù)
fade:一種逐漸顯示/逐漸隱藏的效果,這里tooltip提供了兩個與其對應(yīng)的配置參數(shù):
fadeInSpeed――默認(rèn)值為200ms,用于設(shè)置提示信息逐漸顯示的速度。
fadeUotSpeed――默認(rèn)值為200ms,用于設(shè)置提示信息逐漸隱藏的速度。
slideup:一種逐漸向上/下滑動的效果,這里tooltip提供了三個與其對應(yīng)的配置參數(shù):
slideOffset――默認(rèn)值為10,用于描述提示信息在垂直方向上滑動到距觸發(fā)元素的距離,如果為正值,那么就是向上滑動,否則為向下滑動。
slideInSpeed――默認(rèn)值為200ms。用于設(shè)置提示信息滑動顯示的速度(時間)
slideOutSpeed――默認(rèn)值為200ms。用于設(shè)置提示信息滑動消失的速度(時間)
此外,tooltip還提供了一系列獲取tooltip對象的方法,具體實現(xiàn)描述如下:
復(fù)制代碼 代碼如下:
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對象,默認(rèn)顯示第一個tooltip對象提示信息 |
hide() | API | 隱藏提示信息 |
isShown() | boolean | 該tooltip對象的提示信息是否處于顯示狀態(tài) |
getTip() | jQuery | 將當(dāng)前tooltip對象轉(zhuǎn)換為jquery對象 |
getTrigger() | jQuery | 將當(dāng)前tooltip的觸發(fā)器對象轉(zhuǎn)換為jquery對象 |
getConf() | Object | getConf()獲取當(dāng)前觸發(fā)器器配置對象,對于對象內(nèi)的每個屬性調(diào)用只需直接取屬性名即可 |
on | API | 同Config參數(shù)配置對象中的on |
on | API | 同Config參數(shù)配置對象中的on |
on | API | 同Config參數(shù)配置對象中的on |
on | API | 同Config參數(shù)配置對象中的on |
最后,以jquery tools上幾個demo的截圖為結(jié)尾:
JavaScript技術(shù):jquery tools之tooltip,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。