使用jquery制作弹出框效果
非常不错的国产JS弹出框插件,由前端工程师alien开发,提供多种类型的自定义对话框,使用方法简单,浏览器兼容性好,支持的弹出框模式有:
alert:普通提示(警告)对话框
confirm:询问(确认)对话框
message:简单消息对话框(无title、无按钮)
iframe:在对话框中嵌入一个iframe
tip:带有小三角指向的小tip
dialog:最基础的自定义对话框
varjDialogId=[];
(function($){
$.jDialog=function(options){
varid=parseInt(Math.floor(Math.random()*1000+1));
while($.inArray(id,jDialogId)!=-1){
id=parseInt(Math.floor(Math.random()*1000+1));
}
jDialogId.push(id);
vardefaults={
title:"",
content:"这是一个JasUI-Dialog插件",
width:350,
height:0,
timer:0,
showbuttons:false,
buttons:[],
okval:"确认",
ok:function(){returnfalse;},
cancelval:"取消",
cancel:function(){returnfalse;},
showclose:true,
close:function(){},
theme:""
};
varoptions=$.extend(defaults,options);
var_objdiv="<divid='j-dialog-"+id+"'class='j-dialog";
if(options.theme!=""){
_objdiv=_objdiv+"j-dialog-"+options.theme+"'>";
}else{
_objdiv=_objdiv+"'>";
}
_objdiv=_objdiv+"<divclass='j-dialog-header'>";
if(options.showclose){
_objdiv=_objdiv+"<ahref='javascript:void(0)'class='j-closej-dialog-close'></a>"
}
if(options.title!=""){
_objdiv=_objdiv+"<h5class='j-dialog-title'>"+options.title+"</h5>";
}
_objdiv=_objdiv+"</div>";
_objdiv=_objdiv+"<pclass='j-dialog-content'>"+options.content+"</p>";
if(options.showbuttons){
_objdiv=_objdiv+"<divclass='j-dialog-footer'>";
$.each(options.buttons,function(i,value){
_objdiv=_objdiv+"<aclass='j-button'data-id='"+i+"'>"+value.title+"</a>";
})
_objdiv=_objdiv+"<aclass='j-buttonj-button-primaryj-dialog-ok'>"+options.okval+"</a>";
_objdiv=_objdiv+"<aclass='j-buttonj-dialog-cancel'>"+options.cancelval+"</a>";
_objdiv=_objdiv+"</div>";
};
_objdiv=_objdiv+"</div>";
$("body").append(_objdiv);
var_obj=$('#j-dialog-'+id)
if(options.height>0){
_obj.css("height",options.height);
}
_obj.css("width",options.width);
_obj.css("margin-top",'-'+(options.height/2)+'px');
_obj.css("margin-left",'-'+(options.width/2)+'px');
_obj.animate({top:'30%',opacity:1},0);
if(options.showclose){
_obj.find('.j-dialog-close').on('click',function(){
$.jDialogRemove(id,options.close);
})
_obj.find('.j-dialog-ok').on('click',function(){
if(!options.ok()){
$.jDialogRemove(id,options.close);
}
})
_obj.find('.j-dialog-cancel').on('click',function(){
if(!options.cancel()){
$.jDialogRemove(id,options.close);
}
})
}
if(options.showbuttons){
$.each(options.buttons,function(i,value){
_obj.find("[data-id="+i+"]").on('click',function(){
if(!value.callback()){
$.jDialogRemove(id,options.close);
}
})
})
};
if(options.timer>0){
setTimeout(function(){
$.jDialogRemove(id,options.close);
},options.timer);
}
returnid;
},
$.jDialogRemove=function(id,callback){
if($.inArray(id,jDialogId)!=-1){
jDialogId.splice($.inArray(id,jDialogId),1);
$('#j-dialog-'+id).animate({top:'0',opacity:0},500,function(){
$('#j-dialog-'+id).remove();
if(callback){
callback();
}
});
}
},
$.jTip=function(options){
vardefaults={
content:"这是一个JasUI-Dialog插件",
width:200,
timer:0,
showclose:false,
close:function(){},
theme:""
};
varoptions=$.extend(defaults,options);
$.jDialog(options);
},
$.jFloatText=function(txt,color,posX,posY){
var$i=$("<b>").text(txt);
varx='50%',y='40%';
var_color='#E94F06';
if(color){
_color=color;
}
if(posX){
x=posX;
}
if(posY){
y=posY;
}
$i.css({top:200,left:x,position:"absolute",color:"#E94F06"});
$("body").append($i);
$i.animate({top:20,opacity:0},1500,function(){
$i.remove();
});
}
})(jQuery);
以上所述就是本文的全部内容了,希望能够对大家熟练使用jQuery有所帮助。