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

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

933 2
发表于 2021-7-20 07:38:32 | 查看全部 阅读模式

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

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

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




showMenu() 显示弹出菜单

function showMenu(v)
参数 v 格式:{'key1':'value1','key2':'value2','key3':'value3'}
目前,数组 v 支持传递的 key 有:

key默认值含义可选值及解释
ctrlid(必填)控制菜单的 id
showidctrlid弹出菜单的 id
menuidshowid + '_menu'显示菜单的 id
evt'mouseover'响应函数的事件click: ctrlObj 的 onclick 触发mouseover: ctrlObj 的 onmouseover 触发
pos'43'菜单位置详见 setMenuPosition() 中对 pos 的解释
layer1菜单层级大于 0 的任意整数
duration2菜单显示方式3:菜单一直显示,除非执行 hideMenu(),或者页面 unload2:鼠标移开 ctrlObj 及 menuObj 即开始计时 timeout 毫秒后消失
1:鼠标移开 ctrlObj 即开始计时 timeout 毫秒后消失
0:菜单显示即开始计时 timeout 毫秒后消失
timeout250菜单持续时间单位:毫秒
mtype'menu'菜单类型menu:普通菜单win:浮窗
prompt:提示信息
dialog:对话框
maxh600菜单最大高度,实际高度超过 maxh 时菜单将出现垂直滚动条
cache1是否缓存菜单1:是0:否
drag拖拽菜单对象的 id,如果希望整个菜单都可以拖拽 请设置 drag 等于1
fade0淡入淡出效果1:是0:否
cover0是否显示一个遮罩覆盖整个页面1:是0:否
zindexJSMENU['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点"确定"执行的函数
cover1 (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 方式请求 urlpost: ajaxpost 方式请求 url
cache1是否缓存弹窗内容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
waitidshowidajax 请求过程中显示等待信息区域的 id
display信息返回后 showId 的 style.display 值
recall信息返回后执行的代码
ajax返回内容中的<A>标记可增加如下几个属性,可让<A>链接自动实现ajaxget功能
ajaxtarget: 属性含义同 ajaxget() 的 showid
ajaxwaitid: 属性含义同 ajaxget() 的 waitid
ajaxloading: 属性含义同 ajaxget() 的 loading
ajaxdisplay: 属性含义同 ajaxget() 的 display
ajaxfunc:属性含义同 ajaxget() 的 recall

ajaxpost() AJAX/POST请求
function ajaxpost(formid, showid, waitid, showidclass, submitbtn, recall)
key默认值含义
formid(必填)ajax 提交的表单 id
showid(必填)ajax 返回信息显示区域的 id
waitidshowidajax 请求过程中显示等待信息区域的 id
showidclass表单提交后返回信息显示区域的样式
submitbtn表单提交按钮 ajax 请求发出后将会禁用这个按钮
recall信息返回后执行的代码

ajaxmenu() AJAX/GET请求 显示弹出菜单ajaxmenu(ctrlObj, timeout, cache, duration, pos, recall, idclass, contentclass)
key默认值含义可选值及解释
ctrlObj(必填)控制菜单的对象
timeout3000菜单持续时间
cache1是否缓存菜单1:是0:否
duration0 (timeout = 0 时为 3)菜单显示方式3:菜单一直显示,除非执行 hideMenu(),或者页面 unload2:鼠标移开 ctrlObj 及 menuObj 即开始计时 timeout 毫秒后消失
1:鼠标移开 ctrlObj 即开始计时 timeout 毫秒后消失
0:菜单显示即开始计时 timeout 毫秒后消失
pos'43'菜单位置详见 setMenuPosition() 中对 pos 的解释
recall信息返回后执行的代码
idclass'p_pop'菜单的 class 属性值
contentclass'p_opt'菜单内容的 class 属性值
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

AI智能体Lv.7 发表于 2025-3-17 12:02:49 | 查看全部
`common.js` 是 Discuz! 论坛系统中常用的 JavaScript 文件,其中包含了许多内置的 AJAX 函数和工具函数,用于简化前端开发中的常见操作。以下是对 `common.js` 中一些常用 AJAX 函数的详细解释和使用方法。

### 1. `showMenu()` 显示弹出菜单
`showMenu(v)` 函数用于显示一个弹出菜单。参数 `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**:拖拽菜单对象的 ID,如果希望整个菜单都可以拖拽,请设置 `drag` 等于 `1`。
- **fade**:淡入淡出效果,默认为 `0`(否)。
- **cover**:是否显示一个遮罩覆盖整个页面,默认为 `0`(否)。
- **zindex**:菜单层叠顺序。
- **ctrlclass**:控制对象在菜单弹出后的 class 值,仅在 `duration = 2` 时有效。

#### 示例:
  1. showMenu({
  2.     ctrlid: 'menuCtrl',
  3.     showid: 'menuShow',
  4.     menuid: 'menuId',
  5.     evt: 'click',
  6.     pos: '43',
  7.     duration: 2,
  8.     timeout: 500,
  9.     mtype: 'menu',
  10.     maxh: 600,
  11.     cache: 1,
  12.     drag: 1,
  13.     fade: 1,
  14.     cover: 1,
  15.     zindex: 1000,
  16.     ctrlclass: 'active'
  17. });
复制代码


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

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

#### 示例:
  1. showDialog('这是一个提示信息', 'confirm', '提示', function() {
  2.     alert('你点击了确定');
  3. }, 1, function() {
  4.     alert('你点击了取消');
  5. }, '底部信息', '确定', '取消', 5, 10);
复制代码


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

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

#### 示例:
  1. showWindow('windowKey', 'http://example.com/ajax', 'get', 1, {
  2.     duration: 2,
  3.     timeout: 500
  4. });
复制代码


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

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

#### 示例:
  1. setMenuPosition('menuShow', 'menuId', '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('http://example.com/data', 'resultDiv', 'waitDiv', '加载中...', 'block', function() {
  2.     alert('请求完成');
  3. });
复制代码


### 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', 'waitDiv', 'resultClass', 'submitBtn', function() {
  2.     alert('表单提交完成');
  3. });
复制代码


### 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('menuCtrl'), 3000, 1, 2, '43', function() {
  2.     alert('菜单显示完成');
  3. }, 'p_pop', 'p_opt');
复制代码


### 总结
`common.js` 中的这些函数为 Discuz! 论坛系统提供了强大的前端功能支持,特别是在处理 AJAX 请求、弹出菜单和对话框时非常有用。通过合理使用这些函数,可以大大简化前端开发工作,提升用户体验。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-17 12:06:12 | 查看全部
`common.js` 是 Discuz! 系统中常用的 JavaScript 文件,包含了许多内置的 AJAX 函数和工具函数,用于处理页面中的动态交互。以下是对 `common.js` 中一些常用 AJAX 函数的详细解释和使用方法。

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

#### 参数说明:
- **ctrlid** (必填): 控制菜单的元素的 ID。
- **showid**: 弹出菜单的 ID,默认值为 `ctrlid`。
- **menuid**: 显示菜单的 ID,默认值为 `showid + '_menu'`。
- **evt**: 触发菜单显示的事件,默认为 `'mouseover'`。可选值:
  - `'click'`: 点击触发。
  - `'mouseover'`: 鼠标悬停触发。
- **pos**: 菜单的显示位置,默认为 `'43'`。具体位置可以参考 `setMenuPosition()` 函数的解释。
- **layer**: 菜单的层级,默认为 `1`。
- **duration**: 菜单的显示方式,默认为 `2`。可选值:
  - `3`: 菜单一直显示,除非手动隐藏或页面卸载。
  - `2`: 鼠标移开控制对象和菜单对象后开始计时,`timeout` 毫秒后消失。
  - `1`: 鼠标移开控制对象后开始计时,`timeout` 毫秒后消失。
  - `0`: 菜单显示后立即开始计时,`timeout` 毫秒后消失。
- **timeout**: 菜单的持续时间,单位为毫秒,默认为 `250`。
- **mtype**: 菜单类型,默认为 `'menu'`。可选值:
  - `'menu'`: 普通菜单。
  - `'win'`: 浮窗。
  - `'prompt'`: 提示信息。
  - `'dialog'`: 对话框。
- **maxh**: 菜单的最大高度,默认为 `600`。如果实际高度超过此值,菜单将出现垂直滚动条。
- **cache**: 是否缓存菜单,默认为 `1`(是)。
- **drag**: 拖拽菜单对象的 ID。如果希望整个菜单都可以拖拽,请设置为 `1`。
- **fade**: 是否启用淡入淡出效果,默认为 `0`(否)。
- **cover**: 是否显示遮罩覆盖整个页面,默认为 `0`(否)。
- **zindex**: 菜单的层叠顺序,默认为 `JSMENU`。
- **ctrlclass**: 控制对象在菜单弹出后的 class 值,仅在 `duration = 2` 时有效。

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


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

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

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


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

#### 参数说明:
- **k** (必填): 浮窗的 key。
- **url** (必填): 请求的 URL。在 `mode = 'get'` 时,表示 AJAX 请求的地址;在 `mode = 'post'` 时,表示表单的 ID。
- **mode**: 弹窗请求类型,默认为 `'get'`。可选值:
  - `'get'`: 使用 `ajaxget` 方式请求。
  - `'post'`: 使用 `ajaxpost` 方式请求。
- **cache**: 是否缓存弹窗内容,默认为 `1`(是)。
- **v**: 可以微调 `showMenu()` 的参数,如果不指定则使用 `showWindow()` 的默认值。

#### 示例:
  1. showWindow('myWindow', 'getdata.php', 'get', 1);
复制代码


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

#### 参数说明:
- **showid** (必填): 弹出菜单的 ID。
- **menuid** (必填): 菜单的 ID。
- **pos**: 菜单的弹出位置及方向,默认为 `'43'`。格式为 `'BD'`,其中 `B` 为基点,`D` 为方向。方向设定后,函数会根据实际弹出的位置及浏览器窗口大小进行二次调整。如果不需要二次调整,可以在 `pos` 后加上 `'!'`。

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


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

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

#### 示例:
  1. ajaxget('getdata.php', 'resultDiv', 'loadingDiv', '加载中...', 'block', function() {
  2.     alert('请求完成');
  3. });
复制代码


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

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

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


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

#### 参数说明:
- **ctrlObj** (必填): 控制菜单的对象。
- **timeout**: 菜单的持续时间,默认为 `3000` 毫秒。
- **cache**: 是否缓存菜单,默认为 `1`(是)。
- **duration**: 菜单的显示方式,默认为 `0`。可选值:
  - `3`: 菜单一直显示,除非手动隐藏或页面卸载。
  - `2`: 鼠标移开控制对象和菜单对象后开始计时,`timeout` 毫秒后消失。
  - `1`: 鼠标移开控制对象后开始计时,`timeout` 毫秒后消失。
  - `0`: 菜单显示后立即开始计时,`timeout` 毫秒后消失。
- **pos**: 菜单的显示位置,默认为 `'43'`。
- **recall**: 信息返回后执行的代码。
- **idclass**: 菜单的 class 属性值,默认为 `'p_pop'`。
- **contentclass**: 菜单内容的 class 属性值,默认为 `'p_opt'`。

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


### 总结
`common.js` 提供了丰富的 AJAX 和菜单控制功能,能够帮助开发者轻松实现复杂的页面交互。通过合理使用这些函数,可以大大提升用户体验和页面性能。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:3.144.115.82,GMT+8, 2025-3-31 06:54 , Processed in 0.288136 second(s), 83 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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