jqueryプラグイン作成--5.プロンプトボックスプラグイン
5471 ワード
今日はプロンプトボックスプラグインtooltipの作成について説明します.カスタムセレクタプラグインの開発についても紹介します.
まず、カスタムセレクタの開発について説明します.彼のコード構造は以下の通りです.
呼び出し時の書き方:
次に、関数で使用される各パラメータについて説明します.
object:jqueryオブジェクトではなく、現在のdom要素の参照.強調する必要があるのは、dom要素とjqueryオブジェクトはまったく同じではありません.aラベルはdom要素を表し、$('a')はjqueryオブジェクトを表し、彼自身はjsオブジェクトです.知らない友人情googleに関する知識.
index:下に0と表記された配列インデックス.
properties:セレクタメタデータ配列.
List:dom要素配列.
これらのパラメータのうち、最初のパラメータは必須であり、他のいくつかのパラメータはオプションです.
セレクタ関数はbool値によって現在の要素が含まれているかどうか、trueが含まれているかどうか、falseが含まれていないかどうかを決定します.
ここでは、外部リンクへのaラベルのみを選択するaラベルのセレクタを実現します.コードは次のとおりです.
今、ヒントボックスプラグインの開発を実現し始めました.開発過程はあまり話さないで、主にコードの実現で、中に注釈の説明があります.
この文章があなたに役に立つことを望んで、完全な効果を見たい友达はdemoに行って、住所をダウンロードすることができます:jQuery.plugin.tooltip.zip
まず、カスタムセレクタの開発について説明します.彼のコード構造は以下の通りです.
(function ($) {
$.expr[':'].customselector = function (object,index,properties,list) {
//code
};
})(jQuery);
呼び出し時の書き方:
$(a:customselector)
次に、関数で使用される各パラメータについて説明します.
object:jqueryオブジェクトではなく、現在のdom要素の参照.強調する必要があるのは、dom要素とjqueryオブジェクトはまったく同じではありません.aラベルはdom要素を表し、$('a')はjqueryオブジェクトを表し、彼自身はjsオブジェクトです.知らない友人情googleに関する知識.
index:下に0と表記された配列インデックス.
properties:セレクタメタデータ配列.
List:dom要素配列.
これらのパラメータのうち、最初のパラメータは必須であり、他のいくつかのパラメータはオプションです.
セレクタ関数はbool値によって現在の要素が含まれているかどうか、trueが含まれているかどうか、falseが含まれていないかどうかを決定します.
ここでは、外部リンクへのaラベルのみを選択するaラベルのセレクタを実現します.コードは次のとおりです.
(function ($) {
$.expr[':'].external = function (object) {
if ($(object).is('a')) {
return object.hostname != location.hostname;
}
};
})(jQuery);
今、ヒントボックスプラグインの開発を実現し始めました.開発過程はあまり話さないで、主にコードの実現で、中に注釈の説明があります.
(function ($) {//
$.fn.updatePosition = function (event) {
return this.each(function () {
$(this).css({
left: event.pageX + 20,
top: event.pageY + 5
});
});
}
// , a title
$.fn.tooltip = function () {
return this.each(function () {
//
var self = $(this);
// title
var title = self.attr('title');
// a ,title
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.zip