!function($){
var Tip = function(要素, オプション){
this.init(要素, オプション);
}
Tip.prototype = {
コンストラクター : ヒント、
init : function(要素, オプション){
this.element = $(要素);
this.options = $.extend({},this.defaultOptions,options);
}、
show : function() {
if (!this.tip) {
this.tip = this.getTip();
var title = this.tip.find("h3"),
コンテナ = this.tip.find(".tip-container");
//設置标题
title.text(this.options.title);
//コンテンツを設定します
if (this.options.html) {
コンテナ.html(this.options.content);
} else {
コンテナ.テキスト(this.options.content);
}
// 本体にチップを追加
$("body").append(this.tip);
//計算ヒントの位置
var eLeft = this.element.offset().left,
eTop = this.element.offset().top,
eWidth = this.element.innerWidth(),
eHeight = this.element.innerHeight(),
tipw = this.tip[0].offsetWidth,
ヒント = this.tip[0].offsetHeight,
トップ、
左;
switch(this.options.direction) {
ケース 'トップ' :
トップ = eTop - ヒント;
left = (eLeft -tipw/2) eWidth/2;
this.tip.css({上: 上, 左: 左});
休憩;
ケース「左」:
トップ = (eTop - ティフ/2) eHeight/2;
left = eLeft -tipw;
this.tip.css({上: 上, 左: 左});
休憩;
ケース「底部」:
トップ = eTop eHeight;
left = (eLeft -tipw/2) eWidth/2;
this.tip.css({上: 上, 左: 左});
休憩;
ケース「正しい」:
トップ = (eTop - ティフ/2) eHeight/2;
left = eLeft eWidth;
this.tip.css({上: 上, 左: 左});
休憩;
デフォルト:
休憩;
}
} else {
this.tip.css({display:'block'});
}
}、
非表示: function() {
this.getTip().css({display:"none"});
}、
getTip : function() {
このヒントを返しますか? this.tip : $(this.options.template);
}、
デタッチ : function() {
}、
デフォルトオプション:{
タイトル : ''、
内容: ''、
方向: '下'、
html : false、
テンプレート: '
'
}
}
$.fn.Tip = 関数(オプション) {
return this.each(function(){
var e = $(this),
data = e.data('tip'),
オプション = タイプのオプション == "オブジェクト" && オプション;
if (!data) e.data("tip", new Tip(this,options));
if (オプションのタイプ == '文字列') データ[オプション]();
});
}
}(window.jQuery);
css样式
.tip {
位置: 絶対;
パディング: 3px;
背景: #efefef;
境界半径: 2px;
上: 0px;
左: 0px;
}
.tip .tip-inner {
背景: #fafafb;
境界線: 1 ピクセルの実線 #d8d8d8;
}
.tip .tip-inner h3 {
フォントサイズ: 14px;
パディング: 5px;
border-bottom: 1px ソリッド #eee;
}
.tip .tip-inner .tip-container {
パディング: 5px;
}
この記事の内容は以上です。jQuery プラグインの作成方法について新たに理解できたでしょうか。この記事が気に入っていただければ幸いです。