时间:2021-05-02
网上关于这个名片的相关资料很少,我也不知道它为什么写home.php?mod=space&uid=1就可以弹出,我写的链接为什么就不行。
看了下common.js的相关代码:
function cardInit() { var cardShow = function (obj) { if (BROWSER.ie && BROWSER.ie < 7 && obj.href.indexOf('username') != -1) { return; } pos = obj.getAttribute('c') == '1' ? '43' : obj.getAttribute('c'); USERCARDST = setTimeout(function () { ajaxmenu(obj, 500, 1, 2, pos, null, 'p_pop card'); }, 250); }; var cardids = {}; var a = document.body.getElementsByTagName('a'); for (var i = 0; i < a.length; i++) { if (a[i].getAttribute('c')) { var href = a[i].getAttribute('href', 1); if (typeof cardids[href] == 'undefined') { cardids[href] = Math.round(Math.random() * 10000); } a[i].setAttribute('mid', 'card_' + cardids[href]); a[i].onmouseover = function () { cardShow(this) }; a[i].onmouseout = function () { clearTimeout(USERCARDST); }; } }}
坦白说我看不懂,只知道里面用了ajaxmenu,生成了随机id。
没有关于home、space、uid等词,说明它并不限制这种链接形式,那就可能是链接到的页面的问题了。
前段时间我将站上一些弹出的插件页面改成了xml,今天想到了这个问题,可能是页面需要可以以xml形式访问。
打开home.php?mod=space&uid=1&inajax=1,看了下确实是名片页面,看来这个c=1是自动给链接加上&inajax=1来显示的。
测试一下:
我将forumdisplay.htm页面从<!--{template common/header}-->以下至<!--{template common/footer}-->以上部分,加上$_GET['inajax']判断
<!--{template common/header}--><!--{if !$_GET['inajax']}-->forumdisplay.htm文件里除头尾以外所有代码<!--{else}-->从forumdisplay.htm里复制出来关于版块信息部分的代码<!--{/if}--><!--{template common/footer}-->复制代码保存后访问链接forum.php?mod=forumdisplay&fid=43&inajax=1,显示的xml是else部分后加的代码。在首页帖子列表的版块链接里加上c=1试试:<a href="forum.php?mod=forumdisplay&fid={$value['fid']}" c=1>{$value['name']}</a>复制代码
结果:
哎呦不错哦!
测试而已,好看不好看不重要,数据能出来就OK。
其他页面,包括自定义页面也如此,只要页面里加上inajax的判断,那么就可以利用c=1弹出
<!--{template common/header}--><!--{if !$_GET['inajax']==1}-->正常的内容<!--{else}-->给c=1的<!--{/if}--><!--{template common/footer}-->
复制代码
对同样在学习阶段的站友补充说下,这里的弹出是动态的,不是类似导航下拉菜单那种固定代码。
它弹出的div是临时加载到<div id="append_parent"></div>里的,只不过在common.js里ajaxmenu部分里的cache参数是1(缓存),所以检查元素的时候可以看到弹出层代码,但是浏览器查看源代码的时候是看不到的。
不足:我需要个好看的loading,直接弹出比较突兀。
当初还有另外一种尝试,网上复制个弹出层的jq,a元素data-xx=用户uid,弹出user.php?uid=获取的uid&type=card页面,card页面里用uid作为数据的查询条件,这样做也有效果,只不过需要做的事儿就多了,不如自带的省事儿。
本文测试使用discuz X3.4 utf-8,php7.0,Firefox 61.0.1。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
实例如下所示:复制代码代码如下:Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击$(document).ready(fun
经过前面的介绍,我们已经基本掌握了IIS的主要应用,下面我们进行一个综合案例实践,利用免费的Discuz系统搭建一个论坛。Discuz!是由北京康盛公司提供的一
QQ群禁止管理员改群名片的方法: 1、登录所在QQ群,在右侧群成员表中找到自己,右击鼠标右键,下拉菜单中可以找到“修改我的群名片”,点击进入。 2、弹出的资
一、应用场景鼠标hover弹出div,并且鼠标离开后不能马上隐藏,因为这个div上还有功能入口。比如:鼠标经过好友列表中的好友头像时显示资料卡的效果如下所示:h
整合discuz的通行证:利用discuz自带通行证整合dede的方法以及文件下载首先感谢柏拉图提供这么好的免费程序在论坛上看到大家很多都想整合discuz。我