Buongiorno a tutti.
è da ieri che sto mettendo mano ad uno script trovato qui sul sito, precisamente questo:
http://javascript.html.it/script/ve...-discesa-rosso/
Tutto ok, sono anche riuscito a inserire i terzi livelli (di default arriva fino ai secondi livelli).
Ho solo un problema, vorrei che i sottomenù si aprano sull'evento click e non su quello hover...niente di più facile, direte voi...sostituisco "hover" con "click"...si, ok...ma in questo modo, quando clicco su 3 menu, mi restano tutti e 3 evidenziati mentre, ovviamente, quando clicco su un nuovo menu si dovrebbero chiudere i precedenti...
come faccio a dire "chiudi tutti i menu aperti in precedenza"??
Questo è il codice, come vedete c'è già l'evento "click"
codice:(function(a){ a.fn.webwidget_menu_vertical_menu1=function(p){ var p=p||{}; var g=p&&p.style_color?p.style_color:"red"; var h=p&&p.font_color?p.font_color:"#666"; var i=p&&p.font_decoration?p.font_decoration:"none"; var m=p&&p.directory?p.directory:"images"; var n=p&&p.animation_speed?p.animation_speed:"fast"; var o=a(this); if(o.children("ul").length==0||o.children("ul").children("li").length==0){ o.append("Require menu content"); return null } init(); function init(){ o.children("ul").children("li").css("background-image","url("+m+"/vm_normal.gif)"); o.children("ul").children(".top_border").css("background-image","url("+m+"/vm_top.gif)"); o.children("ul").children(".bottom_border").css("background-image","url("+m+"/vm_bottom.gif)"); o.children("ul").children("li:has(ul)").css("background-image","url("+m+"/vm_arrow.gif)"); o.children("ul").children("li").children("a").css("color",h).css("text-decoration",i); o.children("ul").children("li:has(a)").click( function(){ //alert(o.children("ul").children("li").index($(this))); mouseover($(this)); }, function(){ mouseout($(this)); } ); o.children("ul").children("li").children("ul").children("li").css("background-image","url("+m+"/vm_normal.gif)"); o.children("ul").children("li").children("ul").children(".top_border").css("background-image","url("+m+"/vm_top.gif)"); o.children("ul").children("li").children("ul").children(".bottom_border").css("background-image","url("+m+"/vm_bottom.gif)"); o.children("ul").children("li").children("ul").children("li:has(ul)").css("background-image","url("+m+"/vm_arrow.gif)"); o.children("ul").children("li").children("ul").children("li").children("a").css("color",h).css("text-decoration",i); o.children("ul").children("li").children("ul").children("li:has(a)").click( function(){ //alert(o.children("ul").children("li").index($(this))); mouseover($(this)); }, function(){ mouseout($(this)); } ); o.children("ul").children("li").children("ul").children("li").children("ul").children("li").css("background-image","url("+m+"/vm_normal.gif)"); o.children("ul").children("li").children("ul").children("li").children("ul").children(".top_border").css("background-image","url("+m+"/vm_top.gif)"); o.children("ul").children("li").children("ul").children("li").children("ul").children(".bottom_border").css("background-image","url("+m+"/vm_bottom.gif)"); o.children("ul").children("li").children("ul").children("li").children("ul").children("li:has(ul)").css("background-image","url("+m+"/vm_arrow.gif)"); o.children("ul").children("li").children("ul").children("li").children("ul").children("li").children("a").css("color",h).css("text-decoration",i); o.children("ul").children("li").children("ul").children("li").children("ul").children("li:has(a)").click( function(){ //alert(o.children("ul").children("li").index($(this))); mouseover($(this)); }, function(){ mouseout($(this)); } ); } function mouseover(dom){ dom.children("a").css("color","#FFF"); if(dom.children().is("ul")){ dom.css("background-image","url("+m+"/vm_arrowover.gif)"); }else{ dom.css("background-image","url("+m+"/vm_normalover.gif)"); } dom.children("ul").fadeIn(n); } function mouseout(dom){ dom.children("a").css("color",h); if(dom.children().is("ul")){ dom.css("background-image","url("+m+"/vm_arrow.gif)"); }else{ dom.css("background-image","url("+m+"/vm_normal.gif)"); } dom.children("ul").fadeOut(n); } } })(jQuery);

Rispondi quotando