杰克工作室 发表于 2023-9-11 20:58

discuz!中的JS用法

1、加积分提示:
<pre>
showPrompt(null, null, &#39;\u4fee\u6539\u8d34\u5b50\u6807\u9898\u5931\u8d25&#39;, 3000, &quot;&quot;);
</pre>

<p>错误提示:</p>

<pre>
showError(&#39;aaaa&#39;);</pre>
2、弹层:

<pre>
showDialog(&#39;ddddd&#39;);</pre>
<br />
3、弹层并跳转到某页面url:<br />
<br />
showDialog(&#39;成功&#39;, &#39;notice&#39;, null, function(){location.replace(&#39;forum.php?mod=forumdisplay&amp;fid=7&amp;page=1&#39;);}, null, null, null, null, null, null, 3);

杰克工作室 发表于 2023-9-12 09:26

源文地址:https://www.darlang.com/2017/03/show-series-of-functions-using-the-summary/<br />
&nbsp;
<p>discuz 中 common.js 的 show() 系列函数浮动弹窗的几个有:</p>

<p>showMenu(v),</p>

<p>setMenuPosition(showid, menuid, pos),</p>

<p>showDialog(msg, mode, t, func, cover),</p>

<p>showWindow(k, url, mode, cache, menuv),</p>

<p>showTip(ctrlobj),</p>

<p>showPrompt(ctrlid, evt, msg, timeout)。</p>

<p>&nbsp;</p>

<h3>showMenu(v)</h3>

<p>只有一个数组格式的参数 v 例如:{&#39;key1&#39;:&#39;value1&#39;,&#39;key2&#39;:&#39;value2&#39;,&#39;key3&#39;:&#39;value3&#39;}</p>

<p>目前,数组 v 支持传递的 key 有:</p>

<ol start="1">
        <li>key 默认值 含义</li>
        <li>-----------------------------------------------------------</li>
        <li>ctrlid &#39; &#39; 控制菜单的 id</li>
        <li>showid ctrlid 弹出菜单的 id</li>
        <li>menuid showid + &#39;_menu&#39; 显示菜单的 id</li>
        <li>evt &#39;mouseover&#39; 响应函数的事件</li>
        <li>pos &#39;43&#39; 菜单位置,&quot;*&quot;&nbsp;不需要设置位置(详见 setMenuPosition 文档)</li>
        <li>duration 2 菜单持续(参见注释1)</li>
        <li>timeout 250 菜单持续时间,单位:毫秒</li>
        <li>mtype &#39;menu&#39; 菜单类型(参见注释2)</li>
        <li>maxh 500 菜单最大高度,实际高度超过 maxh 时菜单将出现垂直滚动条</li>
        <li>layer 1 菜单层级,大于 0 的任意整数</li>
        <li>cache 1 是否缓存菜单,0:否 1:是</li>
        <li>drag&nbsp;&#39;&#39;&nbsp;拖拽菜单对象的id,如果希望整个菜单都可以拖拽请设置 drag 为 1</li>
        <li>fade 0 淡入淡出效果,0:否 1:是</li>
        <li>cover 0 覆盖整个页面,0:否 1:是</li>
        <li>zindex JSMENU[&#39;zIndex&#39;][&#39;menu&#39;] 菜单层叠顺序(参见注释3)</li>
</ol>

<p>注释1</p>

<ul>
        <li>3:菜单一直显示 除非执行 hideMenu() 或者页面 unload</li>
        <li>2:鼠标移开 ctrlObj 及 menuObj 即开始计时 timeout 毫秒后消失</li>
        <li>1:鼠标移开 ctrlObj 即开始计时 timeout 毫秒后消失</li>
        <li>0:菜单显示即开始计时 timeout 毫秒后消失</li>
</ul>

<p>注释2</p>

<ul>
        <li>menu:普通菜单</li>
        <li>win:浮窗</li>
        <li>prompt:提示信息</li>
        <li>dialog:对话框</li>
</ul>

<p>注释3</p>

<ul>
        <li>JSMENU[&#39;zIndex&#39;] = {&#39;win&#39;:200,&#39;menu&#39;:300,&#39;prompt&#39;:400,&#39;dialog&#39;:500};</li>
</ul>

<p><strong>举个例子:</strong>鼠标悬浮弹出一个ID为 &#39;aaabbbccc&#39; 的内容的浮窗:</p>

<ol start="1">
        <li>&lt;a&nbsp;href=&quot;javascript:void(0);&quot;&nbsp;id=&quot;aaabbbccc&quot;&nbsp;onmouseover=&quot;showMenu({&#39;ctrlid&#39;:&#39;aaabbbccc&#39;});&quot;&nbsp;initialized=&quot;true&quot;&gt;鼠标悬浮会有内容&lt;/a&gt;</li>
        <li>&lt;div&nbsp;id=&quot;aaabbbccc_menu&quot;&nbsp;style=&quot;display: none;&quot;&gt;悬浮将会显示我&lt;/div&gt;</li>
</ol>

<p>注意别忘了弹出的标签 ID 是 ctrlid, 被弹出的需要加给 id 加一个_menu&nbsp;例如 aaabbbccc 是 a 标签 id,aaabbbccc_menu是被弹出内容标签的 id。</p>

<p>&nbsp;</p>

<h3>setMenuPosition(showid, menuid, pos)</h3>

<ol start="1">
        <li>showid 弹出菜单的 id</li>
        <li>menuid 菜单 id</li>
        <li>pos 菜单位置,必须是字串类型,默认值 &#39;43&#39;(参见注释4)</li>
</ol>

<p>采用基点+方向二元定位法可衍生出几十种菜单位置,基点是指基于&nbsp;showObj&nbsp;的某一点</p>

<p>基点:</p>

<ul>
        <li>0:中心</li>
        <li>1:左上</li>
        <li>2:右上</li>
        <li>3:右下</li>
        <li>4:左下</li>
</ul>

<p>方向:</p>

<ul>
        <li>0:中心</li>
        <li>1:左上</li>
        <li>2:右上</li>
        <li>3:右下</li>
        <li>4:左下</li>
</ul>

<p>&nbsp;</p>

<h3>showDialog(msg, mode, t, func, cover)</h3>

<ol start="1">
        <li>msg 对话框内容</li>
        <li>mode 对话框模式</li>
        <li>t 对话框标题</li>
        <li>func &ldquo;确定&rdquo;执行的函数 可以是一个函数(推荐)也可以是一段 js 代码</li>
        <li>cover 是否覆盖整个页面 1:是 0:否</li>
</ol>

<p>注释5</p>

<ul>
        <li>info 没有按钮 / 一般信息</li>
        <li>notice 有确定按钮 / 通知信息</li>
        <li>alert 有确定按钮 / 错误信息</li>
        <li>confirm 有确定和取消按钮 / 确认信息</li>
</ul>

<p>&nbsp;</p>

<h3>showWindow(k, url, mode, cache, menuv)</h3>

<ol start="1">
        <li>k 浮窗的 key</li>
        <li>url get 方式 url 表示浮窗请求的地址 post 方式 url 表示浮窗提交的表单 id</li>
        <li>mode get 和 post 两种方式</li>
        <li>cache 是否缓存浮窗 0:否 1:是(默认值)</li>
        <li>menuv showMenu 参数调整,如不指定则使用 showWindow 默认值</li>
</ol>

<p>隐藏窗口可调用 hideWindow()</p>

<p>&nbsp;</p>

<h3>showTip(ctrlobj)</h3>

<ol start="1">
        <li>ctrlobj 显示对象,对象放置于tip属性内,支持HTML标签</li>
</ol>

<p><strong>举个例子:</strong></p>

<ol start="1">
        <li>&lt;span tip=&quot;我会显示出来&lt;br/&gt;还会换行&quot;&nbsp;onmouseover=&quot;showTip(this)&quot;&gt;鼠标移动到这里&lt;/span&gt;</li>
</ol>

<p>&nbsp;</p>

<h3>showPrompt(ctrlid, evt, msg, timeout)</h3>

<ol start="1">
        <li>ctrlid 对象 id,可留空(null)</li>
        <li>evt 响应函数的事件(同 showMenu),可留空(null)</li>
        <li>msg 显示的内容</li>
        <li>timeout 显示持续时间,单位:毫秒</li>
</ol>

<p>在指定 id 上显示信息。ctrlid 不留空时效果同 showTip,留空时为居中显示(积分增减提示)</p>

<p>&nbsp;</p>
页: [1]
查看完整版本: discuz!中的JS用法