!함수($){
var Tip = 함수(요소, 옵션){
this.init(요소, 옵션);
}
Tip.prototype = {
생성자 : 팁,
init : 함수(요소, 옵션){
this.element = $(요소);
this.options = $.extend({},this.defaultOptions,options);
},
표시 : 함수() {
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);
} 그 밖의 {
컨테이너.텍스트(this.options.content);
}
//添加tip到body
$("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,
tiph = this.tip[0].offsetHeight,
탑
왼쪽;
스위치(this.options.direction) {
케이스 '상단' :
top = eTop - tiph;
왼쪽 = (eLeft - 끝부분/2) eWidth/2;
this.tip.css({위:위, 왼쪽:왼쪽});
휴식;
'왼쪽' 경우:
top = (eTop - tiph/2) eHeight/2;
left = eLeft - 팁w;
this.tip.css({위:위, 왼쪽:왼쪽});
휴식;
케이스 '하단' :
top = eTop eHeight;
왼쪽 = (eLeft - 끝부분/2) eWidth/2;
this.tip.css({위:위, 왼쪽:왼쪽});
휴식;
사례 '맞아요' :
top = (eTop - tiph/2) eHeight/2;
왼쪽 = e왼쪽 eWidth;
this.tip.css({위:위, 왼쪽:왼쪽});
휴식;
기본값:
휴식;
}
} 그 밖의 {
this.tip.css({display:'block'});
}
},
숨기기 : 함수() {
this.getTip().css({display:"none"});
},
getTip : 함수() {
this.tip을 돌려주세요? this.tip : $(this.options.template);
},
분리: 함수() {
},
기본옵션 :{
제목 : '',
내용 : '',
방향 : '하단',
html : 거짓,
템플릿: '
'
}
}
$.fn.Tip = 기능(옵션) {
return this.each(function(){
var e = $(this),
데이터 = e.data('팁'),
옵션 = 유형 옵션 == "객체" && 옵션;
if (!data) e.data("tip", new Tip(this,options));
if (옵션 유형 == '문자열') data[옵션]();
});
}
}(window.jQuery);
css样式
.tip {
위치: 절대;
패딩: 3px;
배경: #effefef;
테두리 반경: 2px;
상단: 0px;
왼쪽: 0px;
}
.tip .tip-inner {
배경: #fafafb;
테두리: 1px 솔리드 #d8d8d8;
}
.tip .tip-inner h3 {
글꼴 크기: 14px;
패딩: 5px;
테두리 하단: 1px 단색 #eee;
}
.tip .tip-inner .tip-container {
패딩: 5px;
}
이것이 이 기사의 모든 내용입니다. jQuery 플러그인 작성 방법에 대한 새로운 이해가 있으신가요? 이 기사가 마음에 드셨으면 좋겠습니다.