主题:  如何使菜单延时弹出

老张

职务:普通成员
等级:5
金币:10.0
发贴:2796
注册:2001/5/11 12:41:55
#12003/1/30 13:01:10

我通过DW的下面两个脚本实现弹出下拉菜单:
function MM_findObj(n, d) { //v3.0
var p,I,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (I=0;!x&&I for(I=0;!x&&d.layers&&I}

function MM_showHideLayers() { //v3.0
clearTimeout(timer);
var timer = setTimeout(1000); //设置定时
var I,p,v,obj,args=MM_showHideLayers.arguments;
for (I=0; I<(args.length-2); I+=3) if ((obj=MM_findObj(args[I]))!=null) { v=args[I+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }
}

事件:
onmouseover="MM_showHideLayers('Layer1','','show','Layer2','','hide','Layer3'... ...
我想实现一种菜单弹出时间敏感度的功能,就是等鼠标在对象上面停留100-200ms后再显示/隐藏层,这样就避免了鼠标“路过”菜单时也弹出的毛病,我不懂Java,但我觉得不是通过简单的延时命令就能解决,这样会不会出现另一个毛病:鼠标指针跑远了菜单又出现了

这里高手多,请大家帮忙考虑一下代码应该怎样写,不知道我说明白了没有。
但我不想对事件代码作改动,否则要改的地方太多了,另外我的菜单代码是用asp生成的,改起来也太麻烦。
我只想通过修改部分的那个MM 函数来实现。
谢谢!





kuyxx

职务:普通成员
等级:1
金币:0.0
发贴:48
注册:2002/10/31 10:00:03
#22003/1/31 13:47:17
hao123.com
的源文件里有~~



Syawn

职务:普通成员
等级:5
金币:10.0
发贴:2930
注册:2004/6/24 17:14:35
#32003/2/1 9:00:50
把层放到time line里呗,然后将弹出时间向后拉,设置各种动作就可以了吧。