Se può essere utile a qualcuno ecco il codice di prima corretto
Codice PHP:
Submenu={
trigger:function(e){
el=e.element();
el.submenu=el.submenu||el.next();
Event.stopObserving(el,'mouseover',Submenu.trigger);
new Effect.BlindDown(el.submenu,{duration:.3,afterFinish:function(){
el.submenu.observe('mouseout',Submenu.hide);
el.submenu.observe('mouseover',Submenu.cancel_hide);
Submenu.reset(el.submenu,2000);
}});
},
hide:function(e){
Submenu.reset(Submenu.find_el(e));
},
cancel_hide:function(e){
Submenu.cancel_reset(Submenu.find_el(e));
},
reset:function(el,time){
time=time||600;
Submenu.cancel_reset(el);
el.timeout=setTimeout(function(){
Event.stopObserving(this,'mouseover',Submenu.hide);
new Effect.BlindUp(this,{duration:.3,afterFinish:function(){
this.previous().observe('mouseover',Submenu.trigger);
}.bind(this)});
}.bind(el),time);
},
cancel_reset:function(el){
if(el.timeout) clearInterval(el.timeout);
},
find_el:function(e){
el=e.element();
if(!/^<ul/.test(el.inspect())) el=el.up();
return el;
}
};
Event.observe(window,'load',function(){
$$('.submenutrigger').invoke('observe','mouseover',Submenu.trigger);
});