[菜鸟提问2]浏览帖子时,有个管理菜单按钮,鼠标放上去,会出现一个小面板,怎么实现的?

一品梅 2008-06-05 04:54:28
特别是DIV的定位,怎么写,求大大们观光指导.
...全文
110 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tantaiyizu 2008-06-05
  • 打赏
  • 举报
回复
呵呵
一品梅 2008-06-05
  • 打赏
  • 举报
回复
楼上的怎么又牵扯到扩展性了,你给我说说.............
一品梅 2008-06-05
  • 打赏
  • 举报
回复
我是菜鸟,如果我厉害,也不会来问了.

Recite MSDN classic code :)
不像这种方式理解不了的人
---------------------
就因为菜,才要多读.
街头小贩 2008-06-05
  • 打赏
  • 举报
回复
Recite MSDN classic code :)
不像这种方式理解不了的人
街头小贩 2008-06-05
  • 打赏
  • 举报
回复
再有也是这么些东东?
从易用和扩展性都是首选
一品梅 2008-06-05
  • 打赏
  • 举报
回复
谢谢,还有没有发言?呵呵
Navymk 2008-06-05
  • 打赏
  • 举报
回复
做一点错位是为了让panel和触发对象有一点重合.
如果两者不重合,鼠标在移向panel期间经过两者的间隙时,会触发mouseout事件,导致panel消失.
最好触发事件时,无论是显示还是隐藏,都用setTimeout做一下延迟,更符合人的习惯.
一品梅 2008-06-05
  • 打赏
  • 举报
回复
哦,看了看源代码,知道是怎么回事了.
function showMenu(event){
_stopMouseOver(event);
panelAdmin=document.getElementById("panelAdmin");
var bt=event.srcElement||event.target;
panelAdmin.style.display="block";
panelAdmin.style.left=bt.offsetLeft-5+"px";
panelAdmin.style.top=realOffset(bt).y+bt.offsetHeight-2+"px";
}
原来是根据鼠标事件所触发源控件对象,找到其offset,然后根据这个决定面板位置
不过,它的减5,减2,

----->x

|
|
|
V
y 看了一下位置,向左是负,向下是负???
一品梅 2008-06-05
  • 打赏
  • 举报
回复
感谢楼上的大大们回答,不过那个+25是怎么来的,我看到这些scrollTop之类的加上不明数字头都大了,经常看到这种代码,不知道啥意思,是工具栏菜单栏的高度???
jianglin28290 2008-06-05
  • 打赏
  • 举报
回复
取鼠标:

function handlerMM(e){
if (isNav=="net") {
x = e.pageX+25;
y = e.pageY+25;
}
if (isNav=="ie"){
x = event.x+document.body.scrollLeft;
y = event.y+document.body.scrollTop+10;
}
}
tantaiyizu 2008-06-05
  • 打赏
  • 举报
回复
面板只是一个对象而已 ,它里面有一些属性,比如:
左右位置,边框颜色,背景颜色,大小 ,以及显示内容等。
var panel = function(left ,right,color ,size ,content){
//这里你可以去构造这些属性
}

它还有一些方法,比如显示,隐藏

panel.prototype.show = function(){};
panel.prototype.hide = function(){};


那么现在我们要做的就是创建这个对象 ,然后在鼠标移动到某个位置 去调这个对象的方法而已

当然我不知道csdn是不是按我说的去做的 ,但我说的是比较标准的做法。
街头小贩 2008-06-05
  • 打赏
  • 举报
回复
你看不到代码么?js:onmouseover触发一个函数,在函数中可以输出你看到的面板

87,925

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧