·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

Discuz common.js 内置(AJAX)函数帮助文档

228 2

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
    showMenu() 显示弹出菜单


function showMenu(v)

参数 v 格式:{'key1':'value1','key2':'value2','key3':'value3'}

目前,数组 v 支持传递的 key 有:

key    默认值    含义    可选值及解释   

ctrlid    (必填)    控制菜单的 id   

showid    ctrlid    弹出菜单的 id   

menuid    showid + '_menu'    显示菜单的 id   

evt    'mouseover'    响应函数的事件    click: ctrlObj 的 onclick 触发

mouseover: ctrlObj 的 onmouseover 触发   


pos    '43'    菜单位置    详见 setMenuPosition() 中对 pos 的解释   

layer    1    菜单层级    大于 0 的任意整数   

duration    2    菜单显示方式    3:菜单一直显示,除非执行 hideMenu(),或者页面 unload

2:鼠标移开 ctrlObj 及 menuObj 即开始计时 timeout 毫秒后消失

1:鼠标移开 ctrlObj 即开始计时 timeout 毫秒后消失

0:菜单显示即开始计时 timeout 毫秒后消失


timeout    250    菜单持续时间    单位:毫秒   

mtype    'menu'    菜单类型    menu:普通菜单

win:浮窗

prompt:提示信息

dialog:对话框


maxh    600    菜单最大高度,实际高度超过 maxh 时菜单将出现垂直滚动条   

cache    1    是否缓存菜单    1:是0:否


drag    拖拽菜单对象的 id,如果希望整个菜单都可以拖拽 请设置 drag 等于1   

fade    0    淡入淡出效果    1:是0:否


cover    0    是否显示一个遮罩覆盖整个页面    1:是0:否


zindex    JSMENU['zIndex']['menu']    菜单层叠顺序   

ctrlclass    控制对象在菜单弹出后的 class 值,duration = 2 时有效   

    showDialog() 显示对话框


function showDialog(msg, mode, t, func, cover, funccancel, leftmsg, confirmtxt, canceltxt, closetime, locationtime)

key    默认值    含义    可选值及解释   

msg    (必填)    提示信息内容   

mode    'alert'    对话框模式    alert/right:有确定按钮

confirm:有确定和取消按钮

notice:有确定按钮

info:没有按钮  


t    '提示信息'    对话框标题   

func    点"确定"执行的函数   

cover    1 (mode = 'info' 时为 0)    是否显示一个遮罩覆盖整个页面    1:是0:否


funccancel    点"取消"执行的函数   

leftmsg    底部左侧信息   

confirmtxt    '确定'    确定按钮的文字   

canceltxt    '取消'    取消按钮的文字   

closetime    自动关闭的时间,单位"秒"

leftmsg 强制更改为"n 秒后窗口关闭"


locationtime    自动跳转时间,单位"秒"

leftmsg 强制更改为"n 秒后页面跳转"



    showWindow() AJAX弹窗


showWindow(k, url, mode, cache, v)

key    默认值    含义    可选值及解释   

k    (必填)    浮窗的 key   

url    (必填)    get 方式 url 表示浮窗请求的地址

post 方式 url 表示浮窗提交的表单 id


mode    'get'    弹窗请求类型    get: ajaxget 方式请求 url

post: ajaxpost 方式请求 url

cache    1    是否缓存弹窗内容    1:是0:否


v    由于 showWindow() 是以 showMenu() 函数为内核,因此此处可微调 showMenu() 参数,如不指定则使用 showWindow() 的默认值   

注意:

同一页面同时可以弹出多个浮窗,但 k 及 url 相同的浮窗同时只能显示一个

浮窗标题区域支持拖拽

关闭浮窗请使用 hideWindow(k);


    setMenuPosition() 菜单定位


setMenuPosition(showid, menuid, pos)

key    默认值    含义    可选值及解释   

showid    (必填)    弹出菜单的 id   

menuid    (必填)    菜单 id   

pos    '43'    菜单弹出位置及方向,必须是字串类型

格式"BD",B 为基点 D 为方向。方向设定后,函数会根据实际弹出的位置及浏览器窗口大小进行二次调整,取消二次调整请以"!"结尾表示强制  

BD:自定义

B: D:


1:左上角 1:左上方
2:右上角 2:右上方
3:右下角 3:右下方
4:左下角 4:左下方
00:屏幕居中不需要设置位置



    ajaxget() AJAX/GET请求


ajaxget(url, showid, waitid, loading, display, recall)

key    默认值    含义   

url    (必填)    请求的 url   

showid    (必填)    ajax 返回信息显示区域的 id   

waitid    showid    ajax 请求过程中显示等待信息区域的 id   

display    信息返回后 showId 的 style.display 值   

recall    信息返回后执行的代码   

ajax返回内容中的<A>标记可增加如下几个属性,可让<A>链接自动实现ajaxget功能ajaxtarget: 属性含义同 ajaxget() 的 showidajaxwaitid: 属性含义同 ajaxget() 的 waitidajaxloading: 属性含义同 ajaxget() 的 loadingajaxdisplay: 属性含义同 ajaxget() 的 displayajaxfunc:属性含义同 ajaxget() 的 recall

ajaxpost() AJAX/POST请求

function ajaxpost(formid, showid, waitid, showidclass, submitbtn, recall)

key    默认值    含义   

formid    (必填)    ajax 提交的表单 id   

showid    (必填)    ajax 返回信息显示区域的 id   

waitid    showid    ajax 请求过程中显示等待信息区域的 id   

showidclass    表单提交后返回信息显示区域的样式   

submitbtn    表单提交按钮 ajax 请求发出后将会禁用这个按钮   

recall    信息返回后执行的代码   


    ajaxmenu() AJAX/GET请求 显示弹出菜单


ajaxmenu(ctrlObj, timeout, cache, duration, pos, recall, idclass, contentclass)

key    默认值    含义    可选值及解释   

ctrlObj    (必填)    控制菜单的对象   

timeout    3000    菜单持续时间   

cache    1    是否缓存菜单    1:是0:否


duration    0 (timeout = 0 时为 3)    菜单显示方式    3:菜单一直显示,除非执行 hideMenu(),或者页面 unload

2:鼠标移开 ctrlObj 及 menuObj 即开始计时 timeout 毫秒后消失

1:鼠标移开 ctrlObj 即开始计时 timeout 毫秒后消失

0:菜单显示即开始计时 timeout 毫秒后消失


pos    '43'    菜单位置    详见 setMenuPosition() 中对 pos 的解释   

recall    信息返回后执行的代码   

idclass    'p_pop'    菜单的 class 属性值   

contentclass    'p_opt'    菜单内容的 class 属性值   
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-16 18:30:18 | 查看全部
在Discuz!中,`common.js` 是一个非常重要的JavaScript文件,它包含了许多内置的AJAX函数和工具函数,用于处理页面中的动态交互。以下是对你提到的几个关键函数的详细解释和使用方法:

### 1. `showMenu(v)`
`showMenu` 函数用于显示一个弹出菜单。它接受一个对象 `v` 作为参数,该对象包含多个键值对,用于配置菜单的行为和样式。

#### 参数说明:
- **ctrlid** (必填): 控制菜单的元素的ID。
- **showid**: 弹出菜单的ID,默认值为 `ctrlid`。
- **menuid**: 显示菜单的ID,默认值为 `showid + '_menu'`。
- **evt**: 触发菜单显示的事件,默认值为 `'mouseover'`,可选值为 `'click'` 或 `'mouseover'`。
- **pos**: 菜单的显示位置,默认值为 `'43'`,具体含义可以参考 `setMenuPosition()` 函数。
- **layer**: 菜单的层级,默认值为 `1`,值越大层级越高。
- **duration**: 菜单的显示方式,默认值为 `2`,可选值为 `0`、`1`、`2`、`3`。
- **timeout**: 菜单的持续时间,单位为毫秒,默认值为 `250`。
- **mtype**: 菜单的类型,默认值为 `'menu'`,可选值为 `'menu'`、`'win'`、`'prompt'`、`'dialog'`。
- **maxh**: 菜单的最大高度,默认值为 `600`,超过此高度时会出现垂直滚动条。
- **cache**: 是否缓存菜单内容,默认值为 `1`(是)。
- **drag**: 是否允许拖拽菜单,默认值为 `0`(否),如果设置为 `1`,则整个菜单可拖拽。
- **fade**: 是否启用淡入淡出效果,默认值为 `0`(否)。
- **cover**: 是否显示遮罩层覆盖整个页面,默认值为 `0`(否)。
- **zindex**: 菜单的层叠顺序,默认值为 `JSMENU`。
- **ctrlclass**: 控制对象在菜单弹出后的class值,仅在 `duration = 2` 时有效。

#### 示例:
  1. showMenu({
  2.     ctrlid: 'myButton',
  3.     showid: 'myMenu',
  4.     evt: 'click',
  5.     pos: '43',
  6.     duration: 2,
  7.     timeout: 500,
  8.     mtype: 'menu',
  9.     maxh: 400,
  10.     cache: 1,
  11.     drag: 1,
  12.     fade: 1,
  13.     cover: 1
  14. });
复制代码


### 2. `showDialog(msg, mode, t, func, cover, funccancel, leftmsg, confirmtxt, canceltxt, closetime, locationtime)`
`showDialog` 函数用于显示一个对话框。它接受多个参数来配置对话框的内容和行为。

#### 参数说明:
- **msg** (必填): 提示信息内容。
- **mode**: 对话框模式,默认值为 `'alert'`,可选值为 `'alert'`、`'confirm'`、`'notice'`、`'info'`。
- **t**: 对话框标题,默认值为 `'提示信息'`。
- **func**: 点击“确定”按钮后执行的函数。
- **cover**: 是否显示遮罩层覆盖整个页面,默认值为 `1`(是),`mode = 'info'` 时为 `0`。
- **funccancel**: 点击“取消”按钮后执行的函数。
- **leftmsg**: 底部左侧信息。
- **confirmtxt**: 确定按钮的文字,默认值为 `'确定'`。
- **canceltxt**: 取消按钮的文字,默认值为 `'取消'`。
- **closetime**: 自动关闭的时间,单位为秒。
- **locationtime**: 自动跳转的时间,单位为秒。

#### 示例:
  1. showDialog('操作成功!', 'alert', '提示', function() {
  2.     alert('确定按钮被点击');
  3. }, 1, null, '3秒后窗口关闭', '确定', '取消', 3);
复制代码


### 3. `showWindow(k, url, mode, cache, v)`
`showWindow` 函数用于显示一个AJAX弹窗。它接受多个参数来配置弹窗的内容和行为。

#### 参数说明:
- **k** (必填): 浮窗的key。
- **url** (必填): 请求的URL或表单ID。
- **mode**: 弹窗请求类型,默认值为 `'get'`,可选值为 `'get'` 或 `'post'`。
- **cache**: 是否缓存弹窗内容,默认值为 `1`(是)。
- **v**: 可微调 `showMenu()` 参数。

#### 示例:
  1. showWindow('myWindow', 'https://www.dz-x.net/ajax.php', 'get', 1, {
  2.     duration: 2,
  3.     timeout: 500
  4. });
复制代码


### 4. `setMenuPosition(showid, menuid, pos)`
`setMenuPosition` 函数用于设置菜单的显示位置。

#### 参数说明:
- **showid** (必填): 弹出菜单的ID。
- **menuid** (必填): 菜单的ID。
- **pos**: 菜单的显示位置,默认值为 `'43'`。

#### 示例:
  1. setMenuPosition('myMenu', 'myMenu_menu', '43');
复制代码


### 5. `ajaxget(url, showid, waitid, loading, display, recall)`
`ajaxget` 函数用于发送一个AJAX GET请求。

#### 参数说明:
- **url** (必填): 请求的URL。
- **showid** (必填): 显示返回信息的区域ID。
- **waitid**: 显示等待信息的区域ID,默认值为 `showid`。
- **loading**: 加载时的提示信息。
- **display**: 信息返回后 `showid` 的 `style.display` 值。
- **recall**: 信息返回后执行的代码。

#### 示例:
  1. ajaxget('https://www.dz-x.net/ajax.php', 'resultDiv', 'loadingDiv', '加载中...', 'block', function() {
  2.     alert('请求完成');
  3. });
复制代码


### 6. `ajaxpost(formid, showid, waitid, showidclass, submitbtn, recall)`
`ajaxpost` 函数用于发送一个AJAX POST请求。

#### 参数说明:
- **formid** (必填): 表单的ID。
- **showid** (必填): 显示返回信息的区域ID。
- **waitid**: 显示等待信息的区域ID,默认值为 `showid`。
- **showidclass**: 返回信息显示区域的样式。
- **submitbtn**: 表单提交按钮,请求发出后将会禁用这个按钮。
- **recall**: 信息返回后执行的代码。

#### 示例:
  1. ajaxpost('myForm', 'resultDiv', 'loadingDiv', 'resultClass', 'submitBtn', function() {
  2.     alert('表单提交完成');
  3. });
复制代码


### 7. `ajaxmenu(ctrlObj, timeout, cache, duration, pos, recall, idclass, contentclass)`
`ajaxmenu` 函数用于发送一个AJAX GET请求并显示弹出菜单。

#### 参数说明:
- **ctrlObj** (必填): 控制菜单的对象。
- **timeout**: 菜单的持续时间,默认值为 `3000` 毫秒。
- **cache**: 是否缓存菜单内容,默认值为 `1`(是)。
- **duration**: 菜单的显示方式,默认值为 `0`。
- **pos**: 菜单的显示位置,默认值为 `'43'`。
- **recall**: 信息返回后执行的代码。
- **idclass**: 菜单的class属性值,默认值为 `'p_pop'`。
- **contentclass**: 菜单内容的class属性值,默认值为 `'p_opt'`。

#### 示例:
  1. ajaxmenu(document.getElementById('myButton'), 3000, 1, 0, '43', function() {
  2.     alert('菜单显示完成');
  3. }, 'p_pop', 'p_opt');
复制代码


这些函数是Discuz!中常用的AJAX和菜单操作函数,掌握它们可以帮助你更好地实现页面的动态交互效果。如果你有更多问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 02:30:32 | 查看全部
`common.js` 是 Discuz! 系统中一个非常重要的 JavaScript 文件,它包含了许多常用的功能函数,尤其是与 AJAX 相关的操作。以下是对 `common.js` 中几个关键函数的详细解释和使用方法:

### 1. `showMenu()` 显示弹出菜单
`showMenu(v)` 函数用于显示一个弹出菜单。参数 `v` 是一个对象,包含多个键值对,用于控制菜单的行为和样式。

#### 参数说明:
- **ctrlid** (必填): 控制菜单的元素的 ID。
- **showid**: 弹出菜单的 ID,默认值为 `ctrlid`。
- **menuid**: 显示菜单的 ID,默认值为 `showid + '_menu'`。
- **evt**: 触发菜单显示的事件,默认值为 `'mouseover'`,可选值为 `'click'`。
- **pos**: 菜单的显示位置,默认值为 `'43'`,具体含义参考 `setMenuPosition()` 函数。
- **layer**: 菜单的层级,默认值为 `1`。
- **duration**: 菜单的显示方式,默认值为 `2`,可选值为 `0`、`1`、`2`、`3`。
- **timeout**: 菜单的持续时间,单位为毫秒,默认值为 `250`。
- **mtype**: 菜单的类型,默认值为 `'menu'`,可选值为 `'win'`、`'prompt'`、`'dialog'`。
- **maxh**: 菜单的最大高度,默认值为 `600`。
- **cache**: 是否缓存菜单,默认值为 `1`(是)。
- **drag**: 是否允许拖拽菜单,默认值为 `0`(否)。
- **fade**: 是否启用淡入淡出效果,默认值为 `0`(否)。
- **cover**: 是否显示遮罩层,默认值为 `0`(否)。
- **zindex**: 菜单的层叠顺序,默认值为 `JSMENU`。
- **ctrlclass**: 控制对象在菜单弹出后的 class 值,仅在 `duration = 2` 时有效。

#### 示例:
  1. showMenu({
  2.     ctrlid: 'myCtrl',
  3.     showid: 'myMenu',
  4.     pos: '43',
  5.     duration: 2,
  6.     timeout: 500
  7. });
复制代码


### 2. `showDialog()` 显示对话框
`showDialog(msg, mode, t, func, cover, funccancel, leftmsg, confirmtxt, canceltxt, closetime, locationtime)` 函数用于显示一个对话框。

#### 参数说明:
- **msg** (必填): 提示信息内容。
- **mode**: 对话框模式,默认值为 `'alert'`,可选值为 `'confirm'`、`'notice'`、`'info'`。
- **t**: 对话框标题,默认值为 `'提示信息'`。
- **func**: 点击“确定”按钮后执行的函数。
- **cover**: 是否显示遮罩层,默认值为 `1`(是)。
- **funccancel**: 点击“取消”按钮后执行的函数。
- **leftmsg**: 底部左侧信息。
- **confirmtxt**: 确定按钮的文字,默认值为 `'确定'`。
- **canceltxt**: 取消按钮的文字,默认值为 `'取消'`。
- **closetime**: 自动关闭的时间,单位为秒。
- **locationtime**: 自动跳转的时间,单位为秒。

#### 示例:
  1. showDialog('确定要删除吗?', 'confirm', '删除确认', function() {
  2.     // 确定后执行的代码
  3. }, 1, function() {
  4.     // 取消后执行的代码
  5. });
复制代码


### 3. `showWindow()` AJAX 弹窗
`showWindow(k, url, mode, cache, v)` 函数用于显示一个 AJAX 弹窗。

#### 参数说明:
- **k** (必填): 浮窗的 key。
- **url** (必填): 请求的 URL 或表单 ID。
- **mode**: 弹窗请求类型,默认值为 `'get'`,可选值为 `'post'`。
- **cache**: 是否缓存弹窗内容,默认值为 `1`(是)。
- **v**: 可微调 `showMenu()` 参数。

#### 示例:
  1. showWindow('myWindow', 'ajax.php?action=test', 'get', 1);
复制代码


### 4. `setMenuPosition()` 菜单定位
`setMenuPosition(showid, menuid, pos)` 函数用于设置菜单的显示位置。

#### 参数说明:
- **showid** (必填): 弹出菜单的 ID。
- **menuid** (必填): 菜单的 ID。
- **pos**: 菜单的显示位置及方向,默认值为 `'43'`。

#### 示例:
  1. setMenuPosition('myMenu', 'myMenu_menu', '43');
复制代码


### 5. `ajaxget()` AJAX/GET 请求
`ajaxget(url, showid, waitid, loading, display, recall)` 函数用于发送 AJAX GET 请求。

#### 参数说明:
- **url** (必填): 请求的 URL。
- **showid** (必填): 返回信息显示区域的 ID。
- **waitid**: 等待信息显示区域的 ID,默认值为 `showid`。
- **loading**: 加载时的提示信息。
- **display**: 信息返回后 `showid` 的 `style.display` 值。
- **recall**: 信息返回后执行的代码。

#### 示例:
  1. ajaxget('ajax.php?action=test', 'resultDiv', 'loadingDiv');
复制代码


### 6. `ajaxpost()` AJAX/POST 请求
`ajaxpost(formid, showid, waitid, showidclass, submitbtn, recall)` 函数用于发送 AJAX POST 请求。

#### 参数说明:
- **formid** (必填): 表单的 ID。
- **showid** (必填): 返回信息显示区域的 ID。
- **waitid**: 等待信息显示区域的 ID,默认值为 `showid`。
- **showidclass**: 返回信息显示区域的样式。
- **submitbtn**: 提交按钮,请求发出后将会禁用这个按钮。
- **recall**: 信息返回后执行的代码。

#### 示例:
  1. ajaxpost('myForm', 'resultDiv', 'loadingDiv');
复制代码


### 7. `ajaxmenu()` AJAX/GET 请求显示弹出菜单
`ajaxmenu(ctrlObj, timeout, cache, duration, pos, recall, idclass, contentclass)` 函数用于通过 AJAX GET 请求显示弹出菜单。

#### 参数说明:
- **ctrlObj** (必填): 控制菜单的对象。
- **timeout**: 菜单持续时间,默认值为 `3000`。
- **cache**: 是否缓存菜单,默认值为 `1`(是)。
- **duration**: 菜单显示方式,默认值为 `0`。
- **pos**: 菜单位置,默认值为 `'43'`。
- **recall**: 信息返回后执行的代码。
- **idclass**: 菜单的 class 属性值,默认值为 `'p_pop'`。
- **contentclass**: 菜单内容的 class 属性值,默认值为 `'p_opt'`。

#### 示例:
  1. ajaxmenu(document.getElementById('myCtrl'), 3000, 1, 0, '43');
复制代码


这些函数是 Discuz! 系统中常用的 AJAX 和菜单操作函数,熟练掌握它们可以帮助你更好地开发和维护 Discuz! 网站。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.222.124.172,GMT+8, 2025-4-4 12:11 , Processed in 0.349603 second(s), 76 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表