Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con plugin Jquery "Vertical glide navigation menu"

    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);

  2. #2
    Sono arrivato ad una soluzione del genere

    codice:
    o.children("ul").children("li").children(".link").click(
    				function(){
    					//alert("ciao" + $(this).children("ul").style.display);
                       if($(this).children("ul").style.display=="none"){
    						mouseout($(this));
    					}
    					else
    					{
    						mouseover($(this));
    					}
                    }
                );
    il problema è che se uso $(this).children("ul").style.display va tutto in pappa...anche facendo l'alert,
    alert("ciao"); viene visualizzato,
    alert("ciao" + $(this).children("ul").style.display); manco per un cavolo...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.