微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

基于bootstrap风格的弹框插件

自己写的一款基于bootstrap风格的弹框插件,暂时只有确认框、提示框。后续功能扩展、bug修改再更新。

rush:js;"> ;(function($){ //认参数 var ParaMS; var DEFAULTParaMS = { width: 500,title: '提示消息',content: '',okbtn: '确定',cancelbtn: '取消',headerBackground: 'info',vbackdrop: 'static',//认点击遮罩不会关闭modal vkeyboard: true,//按esc关闭modal confirmFn: new Object,cancelFn: new Object }; $.dialog = { confirm: function(params){ $.dialog.initParmas(params); $.dialog.Show('confirm',function(e){ if($.isFunction(ParaMS.confirmFn)){ ParaMS.confirmFn(e); } },function(f){ if($.isFunction(ParaMS.cancelFn)){ ParaMS.cancelFn(f); } }); },alert: function(params){ $.dialog.initParmas(params); $.dialog.Show('alert',null); },Show: function(type,confirmCaller,cancelCaller){ var html = '
'; $('body').append(html); $('#tipModal').modal({backdrop:ParaMS.vbackdrop,keyboard:ParaMS.vkeyboard}); $.dialog.setDialogEvent(type,cancelCaller); },initParmas: function(params){ if(params!= undefined && params!= null){ ParaMS = $.extend({},DEFAULTParaMS,params); } },setDialogEvent: function(type,cancelCaller){ switch(type){ case 'confirm': $("#btnOk").click(function(){ $('#tipModal').modal('hide'); $('#tipModal').on('hidden.bs.modal',function(){ $('#tipModal').remove(); //要先remove modal if($.isFunction(confirmCaller)){ confirmCaller(true); }
  });
 });
 $("#btnCancel").click(function(){
  $('#tipModal').modal('hide');
  $('#tipModal').on('hidden.bs.modal',function(){
   $('#tipModal').remove();
   if($.isFunction(cancelCaller)){
    cancelCaller(false);
   }

  });
 });
 break;
case 'alert':
 $("#btnOk").click(function(){
  $('#tipModal').modal('hide');
  $('#tipModal').on('hidden.bs.modal',function(){
   $('#tipModal').remove();
   if($.isFunction(confirmCaller)){
    confirmCaller(true);
   }
  });
 });
 break;

};
$('#tipModal').on('hidden.bs.modal',function(){
$('#tipModal').remove();
});
$("#tipModal .close").click(function(){
$('#tipModal').on('hidden.bs.modal',function(){
$('#tipModal').remove();
});
});
//设置窗口可拖动
$('#tipModal .modal-header').Draggable($('#tipModal .modal-dialog'));
}
};

dialogConfirm = function(params){
$.dialog.confirm(params);
};

dialogalert = function(params){
$.dialog.alert(params);
};
})(jQuery);

//拖动层
;(function($){
$.fn.extend({
Draggable: function(objMoved){
return this.each(function(){
//鼠标按下时的位置
var mouseDownPosiX,mouseDownPosiY;
//obj的初始位置
var objposiX,objposiY;
//鼠标移动的距离
var tempX,tempY;
//移动的对象
var obj = $(objMoved)==undefined ? $(this): $(objMoved);

//是否处于移动状态
var status = false;

$(this).mousedown(function(e){
 status = true;
 mouseDownPosiX = e.pageX;
 mouseDownPosiY = e.pageY;
 ob<a href="https://www.jb51.cc/tag/jpos/" target="_blank" class="keywords">jpos</a>iX = obj.css("left").replace("px","");
 ob<a href="https://www.jb51.cc/tag/jpos/" target="_blank" class="keywords">jpos</a>iY = obj.css("top").replace("px","");
}).mouseup(function(){
 status = false;
}); 
$(document).mousemove(function(e){
 if(status){
  tempX = parseInt(e.pageX) - parseInt(mouseDownPosiX) + parseInt(ob<a href="https://www.jb51.cc/tag/jpos/" target="_blank" class="keywords">jpos</a>iX);
  tempY = parseInt(e.pageY) - parseInt(mouseDownPosiY) + parseInt(ob<a href="https://www.jb51.cc/tag/jpos/" target="_blank" class="keywords">jpos</a>iY);
  obj.css({ "left": tempX + "px","top": tempY + "px" }); 
 }
 //判断是否超出窗体
 //计算出弹出层距离右边的位置
 var dialogRight = parseInt($(window).width())-(parseInt(obj.css("left"))+parseInt(obj.width()));
 var dialogB<a href="https://www.jb51.cc/tag/ott/" target="_blank" class="keywords">ott</a>om = parseInt($(window).height())-(parseInt(obj.css("top"))+parseInt(obj.height()));
 var maxLeft = $(window).width()-obj.width();
 var maxTop = $(window).height()-obj.height();
 if(parseInt(obj.css("left"))<=0){
   obj.css("left","0px"); 
 }
 if(parseInt(obj.css("top"))<=0){
  obj.css("top","0px"); 
 }
 if(dialogRight<=0){
  obj.css("left",maxLeft+'px'); 
 }
 if(dialogB<a href="https://www.jb51.cc/tag/ott/" target="_blank" class="keywords">ott</a>om<=0){
  obj.css("top",maxTop+'px');
 }
}).mouseup(function(){
 status = false;
}).mouseleave(function(){
 status = false;
});

});
}
});
})(jQuery)

html页面调用

rush:xhtml;">
Box">

感觉写的不是很好,后面修改了或者扩展了功能再更新。源码会上传文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐