前言

使用$.messager.defaults重写默认值对象。下载该插件翻译源码

消息窗口提供了不同的消息框风格,包含alert(警告框), confirm(确认框), prompt(提示框), progress(进度框)等。所有的消息框都是异步的。用户可以在交互消息之后使用回调函数去处理结果或做一些自己需要处理的事情。

源码

/*** jQuery EasyUI 1.3.2* *翻译 :qq 1364386878 消息窗口*/
(function ($) {function show(el, type, speed, timeout) {var win = $(el).window("window");if (!win) {return;}switch (type) {case null:win.show();break;case "slide":win.slideDown(speed);break;case "fade":win.fadeIn(speed);break;case "show":win.show(speed);break;}var timer = null;if (timeout > 0) {timer = setTimeout(function () {hide(el, type, speed);}, timeout);}win.hover(function () {if (timer) {clearTimeout(timer);}}, function () {if (timeout > 0) {timer = setTimeout(function () {hide(el, type, speed);}, timeout);}});};function hide(el, type, speed) {if (el.locked == true) {return;}el.locked = true;var win = $(el).window("window");if (!win) {return;}switch (type) {case null:win.hide();break;case "slide":win.slideUp(speed);break;case "fade":win.fadeOut(speed);break;case "show":win.hide(speed);break;}setTimeout(function () {$(el).window("destroy");}, speed);};//在屏幕右下角显示一条消息窗口。该选项参数是一个可配置的对象://showType:定义将如何显示该消息。可用值有:null,slide,fade,show。默认:slide。//showSpeed:定义窗口显示的过度时间。默认:600毫秒。//width:定义消息窗口的宽度。默认:250px。//height:定义消息窗口的高度。默认:100px。//title:在头部面板显示的标题文本。//msg:显示的消息文本。//style:定义消息窗体的自定义样式。//timeout:如果定义为0,消息窗体将不会自动关闭,除非用户关闭他。如果定义成非0的树,消息窗体将在超时后自动关闭。默认:4秒function _showMassager(_c) {var options = $.extend({}, $.fn.window.defaults, {collapsible: false,minimizable: false,maximizable: false,shadow: false,draggable: false,resizable: false,closed: true,style: {left: "",top: "",right: 0,zIndex: $.fn.window.defaults.zIndex++,bottom: -document.body.scrollTop - document.documentElement.scrollTop},onBeforeOpen: function () {show(this, options.showType, options.showSpeed, options.timeout);return false;},onBeforeClose: function () {hide(this, options.showType, options.showSpeed);return false;}},{title: "",width: 250,height: 100,showType: "slide",showSpeed: 600,msg: "",timeout: 4000}, _c);options.style.zIndex = $.fn.window.defaults.zIndex++;var body = $("<div class=\"messager-body\"></div>").html(options.msg).appendTo("body");body.window(options);body.window("window").css(options.style);body.window("open");return body;};//创建对话框function createDialog(title, content, buttons) {var win = $("<div class=\"messager-body\"></div>").appendTo("body");win.append(content);if (buttons) {var tb = $("<div class=\"messager-button\"></div>").appendTo(win);for (var button in buttons) {$("<a></a>").attr("href", "javascript:void(0)").text(button).css("margin-left", 10).bind("click", eval(buttons[button])).appendTo(tb).linkbutton();}}win.window({title: title,noheader: (title ? false : true),width: 300,height: "auto",modal: true,collapsible: false,minimizable: false,maximizable: false,resizable: false,onClose: function () {setTimeout(function () {win.window("destroy");}, 100);}});win.window("window").addClass("messager-window");win.children("div.messager-button").children("a:first").focus();return win;};//方法配置$.messager = {//在屏幕右下角显示一条消息窗口。该选项参数是一个可配置的对象://showType:定义将如何显示该消息。可用值有:null,slide,fade,show。默认:slide。//showSpeed:定义窗口显示的过度时间。默认:600毫秒。//width:定义消息窗口的宽度。默认:250px。//height:定义消息窗口的高度。默认:100px。//title:在头部面板显示的标题文本。//msg:显示的消息文本。//style:定义消息窗体的自定义样式。//timeout:如果定义为0,消息窗体将不会自动关闭,除非用户关闭他。如果定义成非0的树,消息窗体将在超时后自动关闭。默认:4秒show: function (options) {return _showMassager(options);},//显示警告窗口。参数://title:在头部面板显示的标题文本。//msg:显示的消息文本。//icon:显示的图标图像。可用值有:error,question,info,warning。//fn: 在窗口关闭的时候触发该回调函数alert: function (title, msg, icon, fn) {var content = "<div>" + msg + "</div>";switch (icon) {case "error":content = "<div class=\"messager-icon messager-error\"></div>" + content;break;case "info":content = "<div class=\"messager-icon messager-info\"></div>" + content;break;case "question":content = "<div class=\"messager-icon messager-question\"></div>" + content;break;case "warning":content = "<div class=\"messager-icon messager-warning\"></div>" + content;break;}content += "<div style=\"clear:both;\"/>";var buttons = {};buttons[$.messager.defaults.ok] = function () {win.window("close");if (fn) {fn();return false;}};var win = createDialog(title, content, buttons);return win;},//显示一个包含“确定”和“取消”按钮的确认消息窗口。参数://title:在头部面板显示的标题文本。//msg:显示的消息文本。//fn(b): 当用户点击“确定”按钮的时侯将传递一个true值给回调函数,否则传递一个false值。confirm: function (title, msg, fn) {var content = "<div class=\"messager-icon messager-question\"></div>" + "<div>" + msg + "</div>" + "<div style=\"clear:both;\"/>";var buttons = {};buttons[$.messager.defaults.ok] = function () {win.window("close");if (fn) {fn(true);return false;}};buttons[$.messager.defaults.cancel] = function () {win.window("close");if (fn) {fn(false);return false;}};var win = createDialog(title, content, buttons);return win;},//显示一个用户可以输入文本的并且带“确定”和“取消”按钮的消息窗体。参数://title:在头部面板显示的标题文本。//msg:显示的消息文本。//fn(val): 在用户输入一个值参数的时候执行的回调函数prompt: function (title, msg, fn) {var content = "<div class=\"messager-icon messager-question\"></div>" + "<div>" + msg + "</div>" + "<br/>" + "<div style=\"clear:both;\"/>" + "<div><input class=\"messager-input\" type=\"text\"/></div>";var buttons = {};buttons[$.messager.defaults.ok] = function () {win.window("close");if (fn) {fn($(".messager-input", win).val());return false;}};buttons[$.messager.defaults.cancel] = function () {win.window("close");if (fn) {fn();return false;}};var win = createDialog(title, content, buttons);win.children("input.messager-input").focus();return win;},//显示一个进度消息窗体。//属性定义为://title:在头部面板显示的标题文本。默认:空。//msg:显示的消息文本。默认:空。 //text:在进度条上显示的文本。默认:undefined。//interval:每次进度更新的间隔时间。默认:300毫秒。//方法定义为://bar:获取进度条对象。//close:关闭进度窗口progress: function (options) {var methods = {bar: function () {return $("body>div.messager-window").find("div.messager-p-bar");},close: function () {var win = $("body>div.messager-window>div.messager-body:has(div.messager-progress)");if (win.length) {win.window("close");}}};if (typeof options == "string") {var method = methods[options];return method();}var opts = $.extend({ title: "", msg: "", text: undefined, interval: 300 }, options || {});var pbar = "<div class=\"messager-progress\"><div class=\"messager-p-msg\"></div><div class=\"messager-p-bar\"></div></div>";var win = createDialog(opts.title, pbar, null);win.find("div.messager-p-msg").html(opts.msg);var bar = win.find("div.messager-p-bar");bar.progressbar({ text: opts.text });win.window({closable: false, onClose: function () {if (this.timer) {clearInterval(this.timer);}$(this).window("destroy");}});if (opts.interval) {win[0].timer = setInterval(function () {var v = bar.progressbar("getValue");v += 10;if (v > 100) {v = 0;}bar.progressbar("setValue", v);}, opts.interval);}return win;}};//默认属性$.messager.defaults = {ok: "Ok",//确定按钮文本cancel: "Cancel"//取消按钮文本
    };
})(jQuery);

View Code

示例代码

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Basic Messager - jQuery EasyUI Demo</title><link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="../../themes/icon.css"><link rel="stylesheet" type="text/css" href="../demo.css"><script type="text/javascript" src="../../jquery-1.8.0.min.js"></script><script src="../../plugins/jquery.parser.js"></script><script src="../../plugins/jquery.linkbutton.js"></script><script src="../../plugins/jquery.draggable.js"></script><script src="../../plugins/jquery.resizable.js"></script><script src="../../plugins/jquery.panel.js"></script><script src="../../plugins/jquery.window.js"></script><script src="../../plugins/jquery.progressbar.js"></script><script src="../../plugins/jquery.messager.js"></script>
</head>
<body><h2>Basic Messager</h2><div class="demo-info"><div class="demo-tip icon-tip"></div><div>Click on each button to see a distinct message box.</div></div><div style="margin:10px 0;"><a href="#" class="easyui-linkbutton" onclick="show()">Show</a><a href="#" class="easyui-linkbutton" onclick="slide()">Slide</a><a href="#" class="easyui-linkbutton" onclick="fade()">Fade</a><a href="#" class="easyui-linkbutton" onclick="progress()">Progress</a></div><script type="text/javascript">function show(){$.messager.show({title:'My Title',msg:'Message will be closed after 4 seconds.',showType:'show'});}function slide(){$.messager.show({title:'My Title',msg:'Message will be closed after 5 seconds.',timeout:5000,showType:'slide'});}function fade(){$.messager.show({title:'My Title',msg:'Message never be closed.',timeout:0,showType:'fade'});}function progress(){var win = $.messager.progress({title:'Please waiting',msg:'Loading data...'});setTimeout(function(){$.messager.progress('close');},5000)}</script>
</body>
</html>

View Code

插件效果

转载于:https://www.cnblogs.com/DemoLee/p/3500791.html

easyui源码翻译1.32--Messager(消息窗口)相关推荐

  1. easyui源码翻译1.32--ValidateBox(验证框)

    前言 使用$.fn.validatebox.defaults重写默认值对象.下载该插件翻译源码 validatebox(验证框)的设计目的是为了验证输入的表单字段是否有效.如果用户输入了无效的值,它将 ...

  2. easyui源码翻译1.32--panel(面板)

    前言 昨天发布了表格datagrid的翻译源码 ,easyui的许多插件有依赖关系  比如datagrid 的渲染需要panel.resizable.linkbutton.pagination   今 ...

  3. easyui源码翻译1.32--SearchBox(搜索框)

    前言 使用$.fn.searchbox.defaults重写默认值对象.下载该插件翻译源码 搜索框提示用户需要输入搜索的值.它可以结合一个菜单,允许用户选择不同的搜索类别.在用户按下回车键或点击组件右 ...

  4. easyui源码翻译1.32--Window(窗口)

    前言 扩展自$.fn.panel.defaults.使用$.fn.window.defaults重写默认值对象.下载该插件翻译源码 窗口控件是一个浮动和可拖拽的面板可以用作应用程序窗口.默认情况下,窗 ...

  5. easyui源码翻译1.32--Resizable(调整大小)

    前言 使用$.fn.resizable.defaults重写默认值对象 下载该插件翻译源码 源码 /*** jQuery EasyUI 1.3.2* *翻译:qq 1364386878 Resizab ...

  6. twitter storm源码走读之2 -- tuple消息发送场景分析

    欢迎转载,转载请注明出处源自徽沪一郎.本文尝试分析tuple发送时的具体细节,本博的另一篇文章<bolt消息传递路径之源码解读>主要从消息接收方面来阐述问题,两篇文章互为补充. worke ...

  7. 飞鸽传书最新C++源码:这两个消息钩子

    飞鸽传书最新C++源码:这两个消息钩子的 飞鸽传书 最新源码钩子函数极其相似就不分开说明,只说明一个消息钩子子程的流程.2.排除密码框.3.如果不是密码框,则钩子函数中对键盘消息进行记录,特别处理wm ...

  8. ArrayList源码翻译

    ArrayList源码翻译 简介 属性解读 初始化 添加方法 get方法 set方法 remove方法 contains方法 clone方法 总结 简介 ArrayList 是 java 集合框架中比 ...

  9. RocketMQ源码(八)Broker asyncSendMessage处理消息以及自动创建Topic

    此前已经梳理了RocketMQ的broker接收Producer消息的入口源码RocketMQ(七)broker接收消息入口源码_代码---小白的博客-CSDN博客 在文章的最后我们到了SendMes ...

最新文章

  1. 青少年编程竞赛交流群周报(第042周)
  2. 自定义控件:等比例显示控件RatioLayout
  3. 【读书笔记】基础博弈知识小结
  4. JQuery的ajax函数执行失败,alert函数弹框一闪而过
  5. 私活利器,docker快速部署node.js应用
  6. python写文件格式转换程序_python实现txt文件格式转换为arff格式
  7. UI设计灵感|有声读物APP界面设计
  8. Java-虚拟机-堆的内存规划/新生代/老年代/卡表
  9. 创新创业大讲堂第一讲
  10. 转载:使用Wireshark解密TLS 1.3流量
  11. python 读取元组对的key_Python基本认识基本类型
  12. 用计算机模拟高空救援的过程是人工智能在,本科-人工智能复习题
  13. JAVA继承类初始化顺序
  14. 使用预计算实时全局光照优化照明-项目介绍
  15. VB.net Socket Udp收、发数据包示例源码
  16. Google Open Images Dataset V4 图片数据集详解2-分类快速下载
  17. 第十二章 国民收入的决定:AD-AS模型
  18. 千图成像,手把手教你制作人像拼图效果
  19. iOS6下关于屏幕旋转的控制
  20. Jquery实现淘宝服饰精品案例

热门文章

  1. linux wifi-tools,Linux下WiFi工具wireless_tools交叉编译,及其支持生成iwconfig使用的内核配置...
  2. jpa批量删除数据_EXCEL批量删除非数值数据,这么多方法你用哪一个?
  3. mysql查询重复名字的数据都查出来_mysql查出重复的所有数据
  4. php和架构,结构和架构的区别是什么?
  5. 直接插入排序与希尔排序
  6. 2018年英语计算机职称考试,2018年职称计算机考试报考指南大全
  7. php获取表字段,使用 php 获取表的字段信息
  8. bash 运行程序 下一步_怎样用 Bash 编程:语法和工具
  9. 使用Python,OpenCV在视频中进行实时条形码检测
  10. Java多线程,Thread,Runnable,Callable Task,Future<Task>,CompletionService