jquery插件制作 提示框插件實現(xiàn)代碼
更新時間:2012年08月17日 15:38:13 作者:
今天我們介紹的是提示框插件tooltip的制作,其中還會介紹到自定義選擇器插件的開發(fā)
我們首先來介紹自定義選擇器的開發(fā),他的代碼結(jié)構(gòu)如下:
(function ($) {
$.expr[':'].customselector = function (object,index,properties,list) {
//code
};
})(jQuery);
調(diào)用時候的寫法:
$(a:customselector) 現(xiàn)在我們先解釋下函數(shù)中所使用到的各個參數(shù)。
object:當前dom元素的引用,而不是jquery對象。需要強調(diào)的一點,dom元素和jquery對象完全不是一回事,a標簽代表的是dom元素,$('a')代表的是jquery對象,他本身是個js對象。不清楚的朋友情google相關(guān)知識。
index:下標為0的數(shù)組索引。
properties:選擇器元數(shù)據(jù)數(shù)組。
list:dom元素數(shù)組。
這些參數(shù)中,第一個參數(shù)是必須的,其他幾個參數(shù)是可選的。
選擇器函數(shù)通過bool值確定是否包含當前元素,true包含,false不包含。
這里我們實現(xiàn)一個a標簽的選擇器,只選擇指向外部鏈接的a標簽,代碼如下:
(function ($) {
$.expr[':'].external = function (object) {
if ($(object).is('a')) {
return object.hostname != location.hostname;
}
};
})(jQuery);
現(xiàn)在我們開始實現(xiàn)提示框插件的開發(fā),開發(fā)過程就不多講了,主要是代碼實現(xiàn),里面有備注說明。
(function ($) {//更新坐標位置
$.fn.updatePosition = function (event) {
return this.each(function () {
$(this).css({
left: event.pageX + 20,
top: event.pageY + 5
});
});
}
//提示框插件,將顯示a標簽title屬性的內(nèi)容
$.fn.tooltip = function () {
return this.each(function () {
//獲取當前對象
var self = $(this);
//獲取title屬性值
var title = self.attr('title');
//判斷當前對象是否是a標簽,title屬性有無內(nèi)容
if (self.is('a') && title != '') {
self.removeAttr('title')
.hover(function (event) {
//鼠標在目標對象上
$('<div id="tooltip"></div>').appendTo('body')
.text(title)
.hide()
.updatePosition(event)
.fadeIn(400);
}, function () {
//鼠標移出
$('#tooltip').remove();
}).mousemove(function (event) {
//鼠標移動
$('#tooltip').updatePosition(event);
});
}
});
};
})(jQuery);
希望本片文章對你有用,想看完整效果的朋友可以去下demo,下載地址:jQuery.plugin.tooltip
復制代碼 代碼如下:
(function ($) {
$.expr[':'].customselector = function (object,index,properties,list) {
//code
};
})(jQuery);
調(diào)用時候的寫法:
$(a:customselector) 現(xiàn)在我們先解釋下函數(shù)中所使用到的各個參數(shù)。
object:當前dom元素的引用,而不是jquery對象。需要強調(diào)的一點,dom元素和jquery對象完全不是一回事,a標簽代表的是dom元素,$('a')代表的是jquery對象,他本身是個js對象。不清楚的朋友情google相關(guān)知識。
index:下標為0的數(shù)組索引。
properties:選擇器元數(shù)據(jù)數(shù)組。
list:dom元素數(shù)組。
這些參數(shù)中,第一個參數(shù)是必須的,其他幾個參數(shù)是可選的。
選擇器函數(shù)通過bool值確定是否包含當前元素,true包含,false不包含。
這里我們實現(xiàn)一個a標簽的選擇器,只選擇指向外部鏈接的a標簽,代碼如下:
復制代碼 代碼如下:
(function ($) {
$.expr[':'].external = function (object) {
if ($(object).is('a')) {
return object.hostname != location.hostname;
}
};
})(jQuery);
現(xiàn)在我們開始實現(xiàn)提示框插件的開發(fā),開發(fā)過程就不多講了,主要是代碼實現(xiàn),里面有備注說明。
復制代碼 代碼如下:
(function ($) {//更新坐標位置
$.fn.updatePosition = function (event) {
return this.each(function () {
$(this).css({
left: event.pageX + 20,
top: event.pageY + 5
});
});
}
//提示框插件,將顯示a標簽title屬性的內(nèi)容
$.fn.tooltip = function () {
return this.each(function () {
//獲取當前對象
var self = $(this);
//獲取title屬性值
var title = self.attr('title');
//判斷當前對象是否是a標簽,title屬性有無內(nèi)容
if (self.is('a') && title != '') {
self.removeAttr('title')
.hover(function (event) {
//鼠標在目標對象上
$('<div id="tooltip"></div>').appendTo('body')
.text(title)
.hide()
.updatePosition(event)
.fadeIn(400);
}, function () {
//鼠標移出
$('#tooltip').remove();
}).mousemove(function (event) {
//鼠標移動
$('#tooltip').updatePosition(event);
});
}
});
};
})(jQuery);
希望本片文章對你有用,想看完整效果的朋友可以去下demo,下載地址:jQuery.plugin.tooltip
相關(guān)文章
jQuery form插件之formDdata參數(shù)校驗表單及驗證后提交
Form Plugin API 里提供了很多有用的方法可以讓你輕松的處理表單里的數(shù)據(jù)和表單的提交過程,通過本文給大家介紹jQuery form插件之formDdata參數(shù)校驗表單及驗證后提交的相關(guān)知識,感興趣的朋友一起學習吧2016-01-01使用jQuery模板來展現(xiàn)json數(shù)據(jù)的代碼
通常我們在使用ajax的時候,都避免不了和json這種輕巧的數(shù)據(jù)格式打交道??墒峭謩拥娜ソ馕鰆son,構(gòu)建HTML,比較麻煩?,F(xiàn)在有了這個插件,就能像Extjs那樣使用模板解析json了。2010-10-10jQuery獲取Select選擇的Text和Value(詳細匯總)
Select選擇的Text和Value在使用中可能都需要獲取到它們的值,以至搜集用戶的需求,本文整理了一些常用而實用的操作技巧,感興趣的朋友可以了解下,就當鞏固自己的知識了,希望本文對你有所幫助2013-01-01jQuery中each()、find()和filter()等節(jié)點操作方法詳解(推薦)
這篇文章主要介紹了jQuery中each()、find()和filter()等節(jié)點操作方法的相關(guān)資料,非常不錯具有參考價值,需要的朋友可以參考下2016-05-05