jquery弹出代码封装dialoghelper

看到JQueryUI对话框的例子,效果很好,有点尴尬,写代码有点拧,需要重新包装!所以有以下简单的dialoghelper辅助类,因为这篇文章的主要思想是思维,所以当前版本的代码也很粗糙。思维方式是,什么是封装后只是一种形式。我希望这个想法能启发你,欢迎大家打开思路,提出更好的改进建议。

复制代码代码如下所示:

/ /需要scrollhelper.js

函数的DialogHelper(){

无功_this =这;

var doc = window.document;

_this.maskdiv = null;

_this.contentdiv = null;

var选项{ {

不透明度:0.4

};

this.popup =功能(contentdiv,optionarg){

如果(optionarg){

对于(在optionarg VAR PROP){

选择{道具} = optionarg {道具};

}

}

_this.contentdiv = contentdiv _this.contentdiv | |;

_this.maskdiv = $();

_this.maskdiv.addclass('maskdiv);

_this.maskdiv.css({

过滤器:阿尔法(透明度=+(options.opacity 0 )* 100 +);

不透明度:options.opacity,

显示:阻止

});

$(DOC。体)。追加(_this。maskdiv);

如果(_this。contentdiv){

$(DOC。体)。追加(_this。contentdiv);

_this.contentdiv.show();

_this.contentdiv.draggable({

遏制:文档

光标:'move,

手柄:。dialog_head

});

(_this美元。maskdiv),(MouseMove

$(体)的PreventScroll();

});

(_this美元。maskdiv),(mouseout

$(体)的LiveScroll();

});

如果($(。CKE)。长度= = 0美元(。dialog_body)。长> 0){

$(。dialog_body )PreventOuterScroll();

}

}

};

this.remove =函数(){

如果(_this。contentdiv){

_this.contentdiv.remove();

}

如果(_this。maskdiv){

_this.maskdiv.remove();

}

$(体)的LiveScroll();

};

this.formatpercentnumber =功能(价值、整体){

如果(isnan(值)的值为字符串){

如果(value.indexof(%)!= = 1){

价值=(value.replace(%

如果别人}(value.indexof(PX)!= = 1){

价值= value.replace(PX

}

}

返回math.ceil(价值);

};

this.position =功能(对话框,dialogbody,minusheight){

对话框=对话框| |美元(。showdialogdiv );

如果(对话框{ 0 }){

无功clientwidth = document.documentelement.clientwidth;

自己的document.documentelement.clientheight var =;

Var width = _this.formatPercentNumber (dialog.data (position).Width, clientWidth (dialog.width) ||);

Var height = _this.formatPercentNumber (dialog.data (position).Height, clientHeight (dialog.height) ||);

宽度=宽度< 300300:宽度;

高度=高度<450450:高度;

$(对话框)Css({

宽度:宽度+

高度:高度

顶:Math.ceil((自己的身高) / 2)+PX

左:Math.ceil(((clientwidth宽度) / 2)+PX

});

dialogbody = dialogbody | | $(。dialog_body );

如果(dialogbody { 0 }){

minusheight = minusheight | |($(。dialog_head )(。网页)+ $(。dialog_foot )(。网页));

无功dialogbodyheight =高度minusheight;

DialogBody.height(dialogbodyheight);

}

}

}

}

无功createdialogtemplate =功能(optionarg,contenthtml,savebtnclickhandler){

var选项{ {

动作:

标题:

宽度:50%

高度:50%

};

如果(optionarg){

对于(在optionarg VAR PROP){

选择{道具} = optionarg {道具};

}

}

无功newdialog = $();

无功dialoghead = $()。AppendTo(newdialog);

.html()()(options.action ++ +选项。标题)AppendTo(dialoghead);

Var DialogClose = $()。AppendTo(dialoghead);

无功dialogbody = $()。Html(contenthtml)。AppendTo(newdialog);

Var DialogFoot = $()。AppendTo(newdialog);

无功newdiv = $()。AppendTo(dialogfoot);

Var ActionCancelDiv = $().AppendTo (newDiv);

dialogclose.on(单击

DialogHelper.remove();

});

actioncanceldiv.on(单击

DialogHelper.remove();

});

VaR消息=美元(),AppendTo(actioncanceldiv);

$(),AppendTo(德国);

$()。Html(取消),AppendTo(德国);

无功actionsavediv = $()。AppendTo(newdiv);

VaR新手=美元(),AppendTo(actionsavediv);

NewB.on ('Click', function () {() {

如果(typeof savebtnclickhandler = =功能){

SaveBtnClickHandler();

}

});

$()。AppendTo(新手);

$()。Html(救)。AppendTo(新手);

无功minusheight =()+()dialogfoot.outerheight dialoghead.outerheight;

newdialog.data(位置

宽度:选项宽度,

高度:选项高度

});

dialoghelper.position(newdialog,dialogbody,minusheight);

返回newdialog;

};

Var changeDialogLayout = function (optionArg, dialobj) {

var选项{ {

宽度:70%

高度:90%

};

如果(optionarg){

对于(在optionarg VAR PROP){

选择{道具} = optionarg {道具};

}

}

无功dialogbody = $(dialobj)。找到(。dialog_body );

无功dialoghead = $(dialobj)。找到(。dialog_head );

Var DialogFoot = $(dialobj)。找到(。dialog_foot );

其他math.round VaR(dialogbody.css(垫顶)。更换( / / IG } { A-Z,))+ math.round(dialogbody.css(垫底)。更换( / / IG } { A-Z,)))));

无功minusheight = dialoghead.outerheight()+()+其他dialogfoot.outerheight;

dialobj.data(位置

宽度:选项宽度,

高度:选项高度

});

dialoghelper.position(dialobj,dialogbody,minusheight);

};



以上是本文的全部内容,希望您能喜欢。