[关闭]
@a5635268 2016-05-05T10:04:49.000000Z 字数 2714 阅读 1491

常用前端交互插件之artDialog

javascript


链接

v6版本: https://aui.github.io/artDialog/
v4版本: http://lab.seaning.com/

使用

使用技巧

  1. 所有回调函数,返回false对话框就不关闭,返回true对话框就关闭;也可以直接写true,false;也可以放空,放空就会真;

2. 使用传统的参数

art.dialog('显示内容', 回调函数);

3. 使用字面量传参

  1. var dialog = art.dialog({
  2. //内容:
  3. title: '欢迎',
  4. content: '欢迎使用artDialog对话框组件!',
  5. /*
  6. 1.如果没有就为loading动画;
  7. 2.可以直接写html标签,也可以把页面上的html元素弄上来,如果该元素以前为display:none,就会自动转换为display:block;
  8. */
  9. //按钮:
  10. icon: 'succeed',
  11. follow: document.getElementById('btn2'),
  12. ok: function(){
  13. this.title('警告').content('请注意artDialog两秒后将关闭!').lock().time(2);
  14. return false;
  15. }
  16. /*
  17. 0.使用此参数由确定按钮;
  18. 1.按确定就会触发此函数;
  19. 2.函数如果返回false将阻止对话框关闭;函数this指针指向内部api;如果返回true就直接关闭窗口,不回调;
  20. */
  21. cancel: function(){
  22. alert('取消回调');
  23. return false;
  24. }
  25. /*
  26. 1.同上
  27. 2.不过按x关闭也会回调;
  28. */
  29. });
  30. okVal:"确定按钮的文字",
  31. cancelVal:"取消按钮的文字",
  32. button:[{name: '登录', callback: function () {}}, {name: '取消'}]
  33. /*
  34. 1.js数组形式;
  35. 2.
  36. 配置参数成员:
  37. name —— 按钮名称
  38. callback —— 按下后执行的函数
  39. focus —— 是否在当前按钮聚焦点
  40. disabled —— 是否标记按钮为不可用状态(后续可使用扩展方法让其恢复可用状态)
  41. */
  42. //尺寸:
  43. width:"500px",//宽度,默认自适应,可设百分比,如设百分比的话,就是当前宽度的百分比;
  44. height:"500px",//高度
  45. //位置:
  46. fixed:true //开启静止定位,静止在浏览器某个地方不动,也不受滚动条拖动影响;
  47. follow:document.getElementById('dialog'),//让对话框依附在指定元素附近,可直接传入元素ID名称,注意ID名称需要以“#”号作为前缀
  48. left:"80%" //相对于可视区域的X轴的坐标,可以使用'0%' ~ '100%'作为相对坐标,如果浏览器窗口大小被改变其也会进行相应的调整
  49. top:"50%" //同上;
  50. //视觉:
  51. lock:true,//开启锁屏[遮罩层],默认不开启,
  52. background:'#000', //遮罩层颜色,默认黑色
  53. opacity:0.7, //遮罩层透明度
  54. icon:"success", //定义消息图标,可定义“skins/icons/”目录下的图标名作为参数名(不包含后缀名);
  55. padding:"20px 25px", //内容与边界填充边距,写法和css一样;
  56. //交互:
  57. time:2,//设置对话框显示时间。以秒为单位
  58. resize:true,//是否允许用户调节尺寸,默认true
  59. drag:true,//是否允许用户拖动位置,默认true
  60. esc:true,// 是否允许用户按Esc键关闭对话框,默认true
  61. //高级:
  62. id:"#one",//设定对话框唯一标识
  63. /*
  64. 1、防止重复弹出
  65. 2、定义id后可以使用art.dialog.list[youID]获取扩展方法
  66. */
  67. zIndex:'1988',//重置全局zIndex初始值。默认1987
  68. init:function(){},//对话框弹出后执行的函数
  69. close:function(){},//对话框关闭前执行的函数
  70. /*
  71. 1.函数如果返回false将阻止对话框关闭
  72. 2.请注意这不是关闭按钮的回调函数,无论何种方式关闭对话框,close都将执行。
  73. */
  74. show:function(){},// 是否显示对话框
  75. //扩展方法:
  76. close():关闭对话框
  77. show(): 显示对话框
  78. hide(): 隐藏对话框
  79. title(value):写入标题。无参数则返回标题容器元素
  80. content(value):向消息容器中写入内容。参数支持字符串、DOM对象,无参数则返回内容容器元素
  81. button(arguments):参考上面
  82. follow(element):参考上面
  83. position(left, top):参考上面
  84. size(width, height): 重新设定对话框大小
  85. lock(): 锁屏
  86. unlock():解锁
  87. time(val):定时关闭(单位秒)
  88. /*
  89. 1.回调函数中的this可以使用这些方法;
  90. */
  91. //列子:
  92. 1.创建右下角菜单,固定,禁拖动,禁改大小;
  93. art.dialog({
  94. id: 'msg',
  95. title: '公告',
  96. content: 'hello world!',
  97. width: 320,
  98. height: 240,
  99. left: '100%',
  100. top: '100%',
  101. fixed: true,
  102. drag: false,
  103. resize: false
  104. })
  105. 2.直接引用返回:
  106. var dialog = art.dialog({
  107. title: '我是对话框',
  108. content: '我是初始化的内容'
  109. });
  110. dialog.content('对话框内容被扩展方法改变了').title('提示');
  111. 3.通过对话框ID:
  112. art.dialog({
  113. id: 'KDf435',
  114. title: '警告',
  115. content: '我是初始化的内容'
  116. });
  117. art.dialog.list['KDf435'].content('对话框内容被扩展方法改变了');
  118. 4.关闭页面所有对话框:
  119. var list = art.dialog.list;
  120. for (var i in list) {
  121. list[i].close();
  122. };
  123. 5.标题倒计时:
  124. var timer;
  125. art.dialog({
  126. content: '时间越来越少,越来越少..',
  127. init: function () {
  128. var that = this, i = 5;
  129. var fn = function () {
  130. that.title(i + '秒后关闭');
  131. !i && that.close();
  132. i --;
  133. };
  134. timer = setInterval(fn, 1000);
  135. fn();
  136. },
  137. close: function () {
  138. clearInterval(timer);
  139. }
  140. }).show();
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注