Visualizzazione dei risultati da 1 a 3 su 3

Discussione: da javascript a jquery

  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    da javascript a jquery

    Ciao.
    Quello di sotto è un vecchio menu a schede, perfettamente funzionante.
    Mi sono messo in testa, per migliorare la conoscenza di jquery, di sbarazzarmi degli id e di utilizzare jquery.
    purtroppo mi sono arenato e cerco aiuto. Sotto l'html e il codice originario javascript

    ripeto, vorrei riscrivere la funzione menu_swap con jquery con l'ipotesi di non avere nessun id nell'html.






    codice:
    <div class="menu_schede" >
        <ul>
            <li id="l_0" class="evidenziato nobl" ><a href="#" onclick="menu_swap(this);return false;" >Scheda 1</a></li>
            <li id="l_1"><a href="#" onclick="menu_swap(this);return false;" >Scheda 2</a></li>
            <li id="l_2">&nbsp;</li>
            <li id="l_3">&nbsp;</li>
            <li id="l_4">&nbsp;</li>
        </ul>
        <ul id="n_0" class="informazioni" >
            <li>xxx</li>
            <li>xxx</li>
            <li>xxx</li>
            <li>xxx</li>
            <li>xxx</li>
            <li>xxx</li>
            
        </ul>
        <ul id="n_1" class="informazioni" style="display:none;">
            <li>xxx</li>
        </ul>
        <ul id="n_2" class="informazioni" style="display:none;">
            <li>&nbsp;</li>
        </ul>
        <ul id="n_3" class="informazioni" style="display:none;">
            <li>&nbsp;</li>
        </ul>
        <ul id="n_4" class="informazioni" style="display:none;">
            <li>&nbsp;</li>
        </ul>
    
    </div>
    codice:
    function menu_swap(v)
    {
        var l = getParentElement(v, "li");//genitore di v di tipo li
        var id = l.id.substr(2);//indice della scheda
        var d = getParentElement(v, "div");//genitore div di v
        var uls = getElements(d, "ul", null, "n_");//figli ul di d con id che inizia per n_
    
        for(var i = 0; i < uls.length; i++)
        {
            var ul = uls[i];
            if(ul.id == "n_" + id)
            {
                ul.style.display = "";
                if(id == "0")
                    document.getElementById("l_" + id).className = "evidenziato nobl";
                else
                    document.getElementById("l_" + id).className = "evidenziato";
            }
            else
            {
                ul.style.display = "none";
                if(i == "0")
                    document.getElementById("l_" + i).className = "nobl";
                else
                    document.getElementById("l_" + i).className = "";
    
            }
        }
    }
    Pietro

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Ciao Pietro,
    mi sa che non hai letto la guida di jQuery. Quello che chiedi è molto facile.
    Aggiungo che il forum serve per eventuali aiuti di codice scritto non a fornire codice da 0.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non è proprio da zero solo che il codice di sotto non traduce esattamente l'altro

    codice:
    //        var indice_scheda = $(v).closest("li").index();
    
    //        $("#<%=Me.indice_scheda.ClientID %>").val(indice_scheda);
    
    //        $(v).closest("ul").find("li").removeClass("evidenziato nobl");
    
    //        $(v).closest("ul").find("li").eq(indice_scheda).addClass("evidenziato nobl");
    
    
    //        var uls = $(".menu_schede ul");
    
    
    //        uls.each(function(i, el) 
    
    //            {
    
    //                if(i > 0)
    
    //                    if(i == (indice_scheda + 1)) el.style.display = ""; else el.style.display = "none";
    
    //            });
    
    
    Pietro

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 © 2025 vBulletin Solutions, Inc. All rights reserved.