源文地址:https://www.darlang.com/2017/03/show-series-of-functions-using-the-summary/
discuz 中 common.js 的 show() 系列函数浮动弹窗的几个有:
showMenu(v),
setMenuPosition(showid, menuid, pos),
showDialog(msg, mode, t, func, cover),
showWindow(k, url, mode, cache, menuv),
showTip(ctrlobj),
showPrompt(ctrlid, evt, msg, timeout)。
showMenu(v)
只有一个数组格式的参数 v 例如:{'key1':'value1','key2':'value2','key3':'value3'}
目前,数组 v 支持传递的 key 有:
- key 默认值 含义
- -----------------------------------------------------------
- ctrlid ' ' 控制菜单的 id
- showid ctrlid 弹出菜单的 id
- menuid showid + '_menu' 显示菜单的 id
- evt 'mouseover' 响应函数的事件
- pos '43' 菜单位置,"*" 不需要设置位置(详见 setMenuPosition 文档)
- duration 2 菜单持续(参见注释1)
- timeout 250 菜单持续时间,单位:毫秒
- mtype 'menu' 菜单类型(参见注释2)
- maxh 500 菜单最大高度,实际高度超过 maxh 时菜单将出现垂直滚动条
- layer 1 菜单层级,大于 0 的任意整数
- cache 1 是否缓存菜单,0:否 1:是
- drag '' 拖拽菜单对象的id,如果希望整个菜单都可以拖拽请设置 drag 为 1
- fade 0 淡入淡出效果,0:否 1:是
- cover 0 覆盖整个页面,0:否 1:是
- zindex JSMENU['zIndex']['menu'] 菜单层叠顺序(参见注释3)
注释1
- 3:菜单一直显示 除非执行 hideMenu() 或者页面 unload
- 2:鼠标移开 ctrlObj 及 menuObj 即开始计时 timeout 毫秒后消失
- 1:鼠标移开 ctrlObj 即开始计时 timeout 毫秒后消失
- 0:菜单显示即开始计时 timeout 毫秒后消失
注释2
- menu:普通菜单
- win:浮窗
- prompt:提示信息
- dialog:对话框
注释3
- JSMENU['zIndex'] = {'win':200,'menu':300,'prompt':400,'dialog':500};
举个例子:鼠标悬浮弹出一个ID为 'aaabbbccc' 的内容的浮窗:
- <a href="javascript:void(0);" id="aaabbbccc" onmouseover="showMenu({'ctrlid':'aaabbbccc'});" initialized="true">鼠标悬浮会有内容</a>
- <div id="aaabbbccc_menu" style="display: none;">悬浮将会显示我</div>
注意别忘了弹出的标签 ID 是 ctrlid, 被弹出的需要加给 id 加一个_menu 例如 aaabbbccc 是 a 标签 id,aaabbbccc_menu是被弹出内容标签的 id。
setMenuPosition(showid, menuid, pos)
- showid 弹出菜单的 id
- menuid 菜单 id
- pos 菜单位置,必须是字串类型,默认值 '43'(参见注释4)
采用基点+方向二元定位法可衍生出几十种菜单位置,基点是指基于 showObj 的某一点
基点:
方向:
showDialog(msg, mode, t, func, cover)
- msg 对话框内容
- mode 对话框模式
- t 对话框标题
- func “确定”执行的函数 可以是一个函数(推荐)也可以是一段 js 代码
- cover 是否覆盖整个页面 1:是 0:否
注释5
- info 没有按钮 / 一般信息
- notice 有确定按钮 / 通知信息
- alert 有确定按钮 / 错误信息
- confirm 有确定和取消按钮 / 确认信息
showWindow(k, url, mode, cache, menuv)
- k 浮窗的 key
- url get 方式 url 表示浮窗请求的地址 post 方式 url 表示浮窗提交的表单 id
- mode get 和 post 两种方式
- cache 是否缓存浮窗 0:否 1:是(默认值)
- menuv showMenu 参数调整,如不指定则使用 showWindow 默认值
隐藏窗口可调用 hideWindow()
showTip(ctrlobj)
- ctrlobj 显示对象,对象放置于tip属性内,支持HTML标签
举个例子:
- <span tip="我会显示出来<br/>还会换行" onmouseover="showTip(this)">鼠标移动到这里</span>
showPrompt(ctrlid, evt, msg, timeout)
- ctrlid 对象 id,可留空(null)
- evt 响应函数的事件(同 showMenu),可留空(null)
- msg 显示的内容
- timeout 显示持续时间,单位:毫秒
在指定 id 上显示信息。ctrlid 不留空时效果同 showTip,留空时为居中显示(积分增减提示)
|