网上关于这个手刺的相关材料很少,我也不知道它为什么写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。

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:discuz 关于鼠标经过弹出的名片的利用发布于2023-02-20 12:52:20

相关推荐