蓝忧无泪 发表于 2013-9-11 22:54:24

柒瑞首页四格forDZX之鼠标经过显示层的位置修改

http://addon.discuz.com/?@toplist_7ree.plugin.1846
2013年05月13日更新日志(Ver:8.15)

感谢作者提供免费的四格供广大站长使用,本人感觉这个四格做得还是很有技术水平的,当然豪华收费版的12格本人用不上,我的是文学站所以只需要越简洁越好。

一切功能都已经符合本人所需,就只有一个:鼠标放在贴子标题时出现的详细内容是显示在下面的。我想让那个鼠标跟随显示的内容像官方的四格一样显示在上面位置,因为一般大家看贴子习惯了由上而下地看,他这个刚好挡住了下面即将看到的贴子标题,很不习惯。

找了半天,让一个搞JS的朋友帮忙,才好不容易找到修改方法,特在此备忘:

source/plugin/toplist_7ree/template/toplist_7ree.htm   

找到这个首页四格的模板文件,在里面可以看到最新图片、最新主题、最新回复、精华主题、热门主题的几段代码。

搜索onmouseover=   

会发现4段一样的代码(主题、回复、精华、热门):onmouseover="showMenu({'ctrlid':this.id,'duration':'1'})"这段即是控制鼠标经过弹出层的,在它后面增加对应的方位控制代码后,效果如图:onmouseover="showMenu({'ctrlid':this.id,'duration':'1','pos':'14'})"

上面“14”表示的是左下方,各方位是由1、2、3、4四个数字二个一组合来表示,例如你改为“12”好像就是正上方了。至于为什么嘛我也解析不清楚,因为DZ用JS定义了。所以这个规则也许只是在DZ程序这里才适合。/data/cache/common.js里可以找到相关的定义:switch(basePoint) {
case 1:bpl = sx;bpt = sy;break;
case 2:bpl = sx + sw;bpt = sy;break;
case 3:bpl = sx + sw;bpt = sy + sh;break;
case 4:bpl = sx;bpt = sy + sh;break;}

switch(direction) {
case 0:menuObj.style.left = (document.body.clientWidth - menuObj.clientWidth) / 2 + 'px';mt = (document.documentElement.clientHeight - menuObj.clientHeight) / 2;break;
case 1:ml = bpl - mw;mt = bpt - mh;break;
case 2:ml = bpl;mt = bpt - mh;break;
case 3:ml = bpl;mt = bpt;break;
case 4:ml = bpl - mw;mt = bpt;break;}
页: [1]
查看完整版本: 柒瑞首页四格forDZX之鼠标经过显示层的位置修改