Message 即时消息
简介
即时消息通常用在系统报错和表单提示中,是开发管理系统中必然使用的插件。
使用方法
插件运行方式只有一种:
- js实例:通过
new axMessage({参数})
方式创建实例运行。
-
<a href="###" class="ax-btn ax-primary" id="btnDft">默认参数</a>
-
let btnDft = document.querySelector('#btnDft'); btnDft.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', }).show(); }
位置
通过设定placement
参数来改变信息窗口弹出的位置。
-
<a href="###" class="ax-btn ax-primary" id="btnLT">left-top</a> <a href="###" class="ax-btn ax-primary" id="btnCT">center-top</a> <a href="###" class="ax-btn ax-primary" id="btnRT">right-top</a> <a href="###" class="ax-btn ax-primary" id="btnLC">left-center</a> <a href="###" class="ax-btn ax-primary" id="btnCC">center-center</a> <a href="###" class="ax-btn ax-primary" id="btnRC">right-center</a> <a href="###" class="ax-btn ax-primary" id="btnLB">left-bottom</a> <a href="###" class="ax-btn ax-primary" id="btnCB">center-bottom</a> <a href="###" class="ax-btn ax-primary" id="btnRB">right-bottom</a>
-
let btnLT = document.querySelector('#btnLT'); btnLT.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'left-top', }).show(); } let btnCT = document.querySelector('#btnCT'); btnCT.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'center-top', }).show(); } let btnRT = document.querySelector('#btnRT'); btnRT.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'right-top', }).show(); } let btnLC = document.querySelector('#btnLC'); btnLC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'left-center', }).show(); } let btnCC = document.querySelector('#btnCC'); btnCC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'center-center', }).show(); } let btnRC = document.querySelector('#btnRC'); btnRC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'right-center', }).show(); } let btnLCB = document.querySelector('#btnLB'); btnLB.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'left-bottom', }).show(); } let btnCB = document.querySelector('#btnCB'); btnCB.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'center-bottom', }).show(); } let btnRB = document.querySelector('#btnRB'); btnRB.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', placement:'right-bottom', }).show(); }
风格
通过设置style
参数来改变消息窗口风格,默认是simple,可选择complex。
-
<a href="###" class="ax-btn ax-primary" id="btnSPL">simple风格</a> <a href="###" class="ax-btn ax-primary" id="btnCPL">complex风格</a>
-
let btnSPL = document.querySelector('#btnSPL'); btnSPL.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'simple', }).show(); } let btnCPL = document.querySelector('#btnCPL'); btnCPL.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'complex', }).show(); }
使用图标
通过设置iconShow
参数控制是否显示图标。默认false不显示,可设置true显示。
-
<a href="###" class="ax-btn ax-primary" id="btnIconS">simple风格的图标</a> <a href="###" class="ax-btn ax-primary" id="btnIconC">complex风格的图标</a>
-
let btnIconS = document.querySelector('#btnIconS'); btnIconS.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'simple', iconShow:true, }).show(); } let btnIconC = document.querySelector('#btnIconC'); btnIconC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'complex', iconShow:true, }).show(); }
结果
信息提示一共有五个结果,通过result
参数设置结果类型,分别是success、error、warning、info(默认)和question
-
<a href="###" class="ax-btn ax-primary" id="btnSuccess">success</a> <a href="###" class="ax-btn ax-primary" id="btnError">error</a> <a href="###" class="ax-btn ax-primary" id="btnWarning">warning</a> <a href="###" class="ax-btn ax-primary" id="btnInfo">info</a> <a href="###" class="ax-btn ax-primary" id="btnQuestion">question</a> <a href="###" class="ax-btn ax-primary" id="btnSuccessC">success(complex)</a> <a href="###" class="ax-btn ax-primary" id="btnErrorC">error(complex)</a> <a href="###" class="ax-btn ax-primary" id="btnWarningC">warning(complex)</a> <a href="###" class="ax-btn ax-primary" id="btnInfoC">info(complex)</a> <a href="###" class="ax-btn ax-primary" id="btnQuestionC">question(complex)</a>
-
let btnSuccess = document.querySelector('#btnSuccess'); btnSuccess.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', result: 'success', iconShow:true, }).show(); } let btnError = document.querySelector('#btnError'); btnError.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', result: 'error', iconShow:true, }).show(); } let btnWarning = document.querySelector('#btnWarning'); btnWarning.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', result: 'warning', iconShow:true, }).show(); } let btnInfo = document.querySelector('#btnInfo'); btnInfo.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', result: 'info', iconShow:true, }).show(); } let btnQuestion = document.querySelector('#btnQuestion'); btnQuestion.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', result: 'question', iconShow:true, }).show(); } let btnSuccessC = document.querySelector('#btnSuccessC'); btnSuccessC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'complex', result: 'success', iconShow:true, }).show(); } let btnErrorC = document.querySelector('#btnErrorC'); btnErrorC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'complex', result: 'error', iconShow:true, }).show(); } let btnWarningC = document.querySelector('#btnWarningC'); btnWarningC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'complex', result: 'warning', iconShow:true, }).show(); } let btnInfoC = document.querySelector('#btnInfoC'); btnInfoC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'complex', result: 'info', iconShow:true, }).show(); } let btnQuestionC = document.querySelector('#btnQuestionC'); btnQuestionC.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', style:'complex', result: 'question', iconShow:true, }).show(); }
关闭
默认自动关闭,如果需要可使用手动关闭。通过设置close
参数控制是否手动关闭。默认false自动,可设置true手动。
-
<a href="###" class="ax-btn ax-primary" id="btnAuto">自动关闭</a> <a href="###" class="ax-btn ax-primary" id="btnManu">手动关闭</a>
-
let btnAuto = document.querySelector('#btnAuto'); btnAuto.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', }).show(); } let btnManu = document.querySelector('#btnManu'); btnManu.onclick = function () { new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', close:true, }).show(); }
操作方法
本插件有系列内部成员变量和内部操作方法,用户根据这些变量和方法可以自由操作实例,据此可方便与其他组件进行交互。请按下F12按键打开浏览器控制台来观摩以下实例。
内部成员变量如下:
this.shown
:当前是否是展示状态,true/falsethis.wrapperDom
:包裹一个方向的小窗父节点this.targetDom
:小窗节点this.contentDom
:主体内容节点this.titleDom
:标题节点this.closeDom
:关闭按钮节点this.progressDom
:关闭进度条节点
内部操作方法如下:
this.show(callback)
:打开提示小窗,支持一个参数即回调函数,回调无参数this.hide(callback)
:关闭提示小窗,支持一个参数即回调函数,回调无参数this.update(setting,callback)
:更新小窗,支持两个参数即传入的参数和回调函数,回调无参数
-
<a href="###" class="ax-btn ax-primary" id="btnShow">打开</a> <a href="###" class="ax-btn ax-primary" id="btnHide">关闭</a> <a href="###" class="ax-btn ax-primary" id="btnUpdate">更新</a>
-
let btnShow = document.querySelector('#btnShow'), btnHide = document.querySelector('#btnHide'), btnUpdate = document.querySelector('#btnUpdate'), methodIns = new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', close: true, }); btnShow.onclick = function () { methodIns.show(); } btnHide.onclick = function () { methodIns.hide(); } btnUpdate.onclick = function () { methodIns.update({ result: 'success', content: '现在是2023年,国家一天天变得强大!', }); }
监听事件
本插件有若干监听方法,以on为关键字,参数中监听格式为:new instance({onShow:function(){}})
;实例后监听格式是:instance.on('show',function(){})
。在参数中监听和实例后监听效果相同。具体事件说明如下:
shown
窗口显示后执行hidden
窗口隐藏后执行
演示实例显示结果使用了console.log方法,请按下F12按键打开开发者工具中的“控制台”查看监听效果。
-
<a href="###" class="ax-btn ax-primary" id="btnOn">监听</a>
-
let btnOn = document.querySelector('#btnOn'); btnOn.onclick = function () { instanceOn = new axMessage({ content: '中华人民共和国,中央人民政府,今天成立啦!', close: true, }).show().on('shown', function () { console.log('已经显示了'); }).on('hidden', function () { console.log('已经隐藏了'); }); }
参数选项
document.addEventListener("DOMContentLoaded", function() { var demo1 = new axMessage({ insName: '',//实例名称,字符串格式;如果填写了实例名称,那么该实例会被添加到实例合集当中,通过axInstance方法可获取本实例,详细请查看:ax-utils-instance.php className: '',//自定义类名,默认为空,注意不需要使用‘.’ placement: 'center-top',//弹出位置,默认中间顶部,可选择left-top|center-top|right-top|left-center|center-center|right-center|left-bottom|center-bottom|right-bottom content: '',//窗口内容,如果为空则插件根据窗口类型自动填入内容,可自定义窗口内容 result: 'info',//操作状态,默认提示info,可选择success|error|question|warning delay: 3000,//延迟关闭时间 zIndex:0,//气泡层级,默认为0即不设置,如果与其他组件发生遮挡请自行设置 progress: true,//是否显示关闭进度条,仅在complex风格中使用,默认为true title: {//设置标题名称 warning: '操作警告!', success: '操作成功!', error: '操作失败!', question: '操作疑问!', info: '信息提示!', }, close: false,//是否显示关闭按钮,默认不显示将自动关闭窗口,可选择true,使用手动点击按钮关闭窗口 iconShow: false,//是否显示状态图标,默认不显示,可选择true style: 'simple',//窗口风格,默认简单风格simple,可选择复杂风格complex icon: '',//图标代码,不需要另行设置 breakpoints: {},//使用断点以适配终端,详情查看ax-utils-other.php页面 onShown:'',//回调函数,打开小窗后执行,无参数 onHidden:'',//回调函数,关闭小窗后执行,无参数 onUpdated:'',//回调函数,更新参数后执行,无参数 }); });
以axMenu插件为例,如果在元素上通过ax*使用属性,需要使用类似json的写法,属性不需要使用引号,如果值是字符串需要使用引号包裹,如果值是数字、布尔值、null或undefined不需要引号;比如要设置active,那么在元素的ax*属性中应该这样书写:axMenu="active:2"