#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 函数来实现。
谢谢!