Discuz之showDialog函数详解

  Common.js

  function showDialog(msg, mode, t, func, cover) {

  cover = isUndefined(cover) ? (mode == 'info' ? 0 : 1) : cover;

  mode = in_array(mode, ['confirm', 'notice', 'info']) ? mode : 'alert';

  var menuid = 'fwin_dialog';

  var menuObj = $(menuid);

  if(menuObj) hideMenu('fwin_dialog', 'dialog');

  menuObj = document.createElement('div');

  menuObj.style.display = 'none';

  menuObj.className = 'fwinmask';

  menuObj.id = menuid;

  $('append_parent')。appendChild(menuObj);

  var s = '<table cellpadding="0" cellspacing="0" class="fwin"><tr><td class="t_l"></td><td class="t_c"></td><td class="t_r"></td></tr><tr><td class="m_l"></td><td class="m_c"><div class="fcontent' + (mode == 'info' ? '' : ' alert_win') + '"><h3 class="float_ctrl"><em>';

  s += t ? t : '提示信息';

  s += '</em><span><a href="javascript:;" class="float_close" title="关闭">关闭</a></span></h3>';

  if(mode == 'info') {

  s += msg ? msg : '';

  } else {

  s += '<hr class="shadowline" />';

  s += '<div class="postbox"><div class="' + (mode == 'alert' ? 'alert_error' : 'alert_info') + '"><p>' + msg + '</p></div>';

  s += '<div class="alert_btn"><input type="button" id="fwin_dialog_submit" value="&nbsp;确定&nbsp;" />';

  s += mode == 'confirm' ? '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="&nbsp;取消&nbsp;" />' : '';

  s += '</div></div>';

  }

  s += '</div></td><td class="m_r"></td></tr><tr><td class="b_l"></td><td class="b_c"></td><td class="b_r"></td></tr></table>';

  menuObj.innerHTML = s;

  if($('fwin_dialog_submit')) $('fwin_dialog_submit')。onclick = function() {

  if(typeof func == 'function') func();

  else eval(func);

  hideMenu(menuid, 'dialog')

  };

  showMenu({'mtype':'dialog','menuid':menuid,'duration':3,'pos':'00','zindex':JSMENU['zIndex']['dialog'],'cache':0,'cover':cover});

  }

  showDialog(msg, mode, t, func, cover)

  msg:内容,支持html

  mode:提升模式,从函数里面看,支持'confirm'(显示确定,取消按钮), 'notice'(显示确定按钮), 'info'(只有内容,除了关闭标志,没有任何按钮),这几个mod如果没有被定义,默认使用alert,也就是错误提示,显示一个X再加一个确定按钮

  t:也就是title,留空会使用“提示信息”着四个字

  func:点击fwin_dialog_submit,也就是确定按钮的时候执行的动作,如果用typeof 检查结果是一个函数,就执行之,不用请填写NULL

  cover:使用背景遮罩武汉仁济中西医结合医院

  Example:

  <div id="divajax"></div>

  <p><a href="result.php">显示一个浮动窗口来返回ajax结果,这里用到了showWindow函数</a></p>

  <a  href="javascript:;">document.write</a>

  <a  href="javascript:;">location.href</a>

  <a  href="javascript:;">ajaxget</a>http://www.dztxn.com/space/?342/log/830

你可能感兴趣的:(Discuz之showDialog函数详解)