js封装alert
来源:互联网 发布:阿里云网站监控平台 编辑:程序博客网 时间:2024/06/03 21:13
(function($) { $.alerts = { // These properties can be read/written by accessing $.alerts.propertyName from your scripts at any time verticalOffset: -75, // vertical offset of the dialog from center screen, in pixels horizontalOffset: 0, // horizontal offset of the dialog from center screen, in pixels/ repositionOnResize: true, // re-centers the dialog on window resize overlayOpacity: .01, // transparency level of overlay overlayColor: '#FFF', // base color of overlay draggable: true, // make the dialogs draggable (requires UI Draggables plugin) okButton: ' 确定 ', // text for the OK button cancelButton: ' 取消 ', // text for the Cancel button dialogClass: null, // if specified, this class will be applied to all dialogs // Public methods alert: function(message, title, callback) { if( title == null ) title = '提示'; $.alerts._show(title, message, null, 'alert', function(result) { if( callback ) callback(result); }); }, confirm: function(message, title, callback) { if( title == null ) title = '确定'; $.alerts._show(title, message, null, 'confirm', function(result) { if( callback ) callback(result); }); }, prompt: function(message, value, title, callback) { if( title == null ) title = '请输入'; $.alerts._show(title, message, value, 'prompt', function(result) { if( callback ) callback(result); }); }, // Private methods _show: function(title, msg, value, type, callback) { $.alerts._hide(); $.alerts._overlay('show'); $("BODY").append( '<div id="popup_container" class="panel panel-default gAlert">' + '<div class="panel-heading" id="popup_title"></div>' + '<div class="panel-body" id="popup_content">' + '<div id="popup_message"></div>' + '</div>' + '</div>'); if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass); //IE6 Fix //var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; var pos = 'fixed'; $("#popup_container").css({ position: pos, zIndex: 99999, padding: 0, margin: 0, 'min-width':"320px" }); $("#popup_title").text(title); $("#popup_content").addClass(type); $("#popup_message").text(msg); $("#popup_message").html( $("#popup_message").text().replace(/\n/g, '<br />') ); $("#popup_container").css({ minWidth: $("#popup_container").outerWidth(), maxWidth: $("#popup_container").outerWidth() }); $.alerts._reposition(); $.alerts._maintainPosition(true); switch( type ) { case 'alert': $("#popup_content").after('<div id="popup_panel" style="padding: 5px;border-top: 1px solid #ccc;" class="text-center" ><input type="button" class="btn btn-default btn-sm" value="' + $.alerts.okButton + '" id="popup_ok" /></div>'); $("#popup_ok").click( function() { $.alerts._hide(); callback(true); }); $("#popup_ok").focus().keypress( function(e) { if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click'); }); break; case 'confirm': $("#popup_content").after('<div id="popup_panel" style="padding: 5px;border-top: 1px solid #ccc;" class="text-center"> <input type="button" class="btn btn-primary btn-sm" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" class="btn btn-default btn-sm" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>'); $("#popup_ok").click( function() { $.alerts._hide(); if( callback ) callback(true); }); $("#popup_cancel").click( function() { $.alerts._hide(); if( callback ) callback(false); }); $("#popup_ok").focus(); $("#popup_ok, #popup_cancel").keypress( function(e) { if( e.keyCode == 13 ) $("#popup_ok").trigger('click'); if( e.keyCode == 27 ) $("#popup_cancel").trigger('click'); }); break; case 'prompt': $("#popup_content").append('<br /><input type="text" class="form-control" size="30" id="popup_prompt" />').after('<div id="popup_panel" style="padding: 5px;border-top: 1px solid #ccc;" class="text-center"> <input type="button" class="btn btn-primary btn-sm" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" class="btn btn-default btn-sm" id="popup_cancel" /></div>'); $("#popup_prompt").width( $("#popup_message").width() ); $("#popup_ok").click( function() { var val = $("#popup_prompt").val(); $.alerts._hide(); if( callback ) callback( val ); }); $("#popup_cancel").click( function() { $.alerts._hide(); if( callback ) callback( null ); }); $("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) { if( e.keyCode == 13 ) $("#popup_ok").trigger('click'); if( e.keyCode == 27 ) $("#popup_cancel").trigger('click'); }); if( value ) $("#popup_prompt").val(value); $("#popup_prompt").focus().select(); break; } // Make draggable if( $.alerts.draggable ) { try { $("#popup_container").draggable({ handle: $("#popup_title") }); $("#popup_title").css({ cursor: 'move' }); } catch(e) { /* requires jQuery UI draggables */ } } }, _hide: function() { $("#popup_container").remove(); $.alerts._overlay('hide'); $.alerts._maintainPosition(false); }, _overlay: function(status) { switch( status ) { case 'show': $.alerts._overlay('hide'); $("BODY").append('<div id="popup_overlay"></div>'); $("#popup_overlay").css({ position: 'absolute', zIndex: 99998, top: '0px', left: '0px', width: '100%', height: $(document).height(), background: $.alerts.overlayColor, opacity: $.alerts.overlayOpacity }); break; case 'hide': $("#popup_overlay").remove(); break; } }, _reposition: function() { var top =window.screen.height/2-200; var left = (($(window).width() / 2) - ($("#popup_container").outerWidth() / 2)) + $.alerts.horizontalOffset; if( top < 0 ) top = 0; if( left < 0 ) left = 0; // IE6 fix //if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop(); $("#popup_container").css({ top: top + 'px', left: left + 'px' }); $("#popup_overlay").css({"background":"#000","opacity":0.3}).height( $(document).height() ); }, _maintainPosition: function(status) { if( $.alerts.repositionOnResize ) { switch(status) { case true: $(window).bind('resize', $.alerts._reposition); break; case false: $(window).unbind('resize', $.alerts._reposition); break; } } } } // Shortuct functions gAlert = function(message, title, callback) { $.alerts.alert(message, title, callback); } gConfirm = function(message, title, callback) { $.alerts.confirm(message, title, callback); }; gPrompt = function(message, value, title, callback) { $.alerts.prompt(message, value, title, callback); };})(jQuery);
使用方法:1,gAlert("xxx操作","提示");
使用方法:2,gAlert("修改成功!","提示",function(){ });
阅读全文
0 0
- js封装alert
- js alert
- php 封装alert方法
- js-alert-classie.js
- js-alert-notificationFx.js
- 原创 自己封装的js alert 和confirm 利用jquery dialog
- js模拟alert封装自定义提示框,1秒后自动消失
- Android WebView封装及定制js的alert,confirm和prompt对话框的方法
- 一个封装的在后台弹出JS Alert消息和JS confirm信息以及跳转到指定的页面
- 一个封装的在后台弹出JS Alert消息和JS confirm信息以及跳转到指定的页面
- js alert乱码
- js alert乱码
- JS----- <<<<<alert>>>><<<<<confirm>>>>><<<<<prompt>>>>>
- JS改写ALERT
- JS 屏蔽 Alert
- js重写window.alert
- js 弹出alert框
- js中的alert
- MFC导入位图的方法
- CSS3 元素的变形(transform)
- 多重继承和菱形结构
- 凑数字
- 数据结构实验之查找三:树的种类统计
- js封装alert
- Android 面试宝典
- 『学习laravel』那些坑 (一)之安装
- js-浅析js指向-this绑定优先级及特殊情况说明
- 利用线上yum源,制作本地yum源
- 模糊控制系统模糊控制器模块(一)---模糊化
- 335x uboot 看门狗喂狗
- TCP/UDP
- mybatis中的#和$的区别