Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Hybrid View

  1. #1
    e non c'è nessun modo per riportare il valore fuori? si lo so c'è il jquery accordion, male che va userò quello. se proprio non si puo fare nulla. sinceramente volevo evitare di usare jquery ui e cambiare impostazioni al codice e alla grafica. per questo preferivo questo che cmq è funzionante
    Ultima modifica di carmelo86; 21-08-2015 a 11:54

  2. #2
    qui c'è il codice completo

    codice HTML:
    <html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
        <style>
    #accordion {
        list-style:none;
        width:300px;
        margin-top:80px;
        background-color: #EDEDED;
     }
    #accordion li {
     font-size:18px;
     cursor:pointer;
        color:#333;
        border-bottom:1px solid #999;
        padding: 9px 0px 9px 22px;
     }
    #accordion ul {
     list-style:none;
     display:none;
     margin:0;
     padding:5px 0;
     font-size:18px;
     }
    #accordion ul li {
     border:0;
     padding-left:15px;
     font-size:14px;
        padding: 4px 0px 4px 14px !important;
     }
    #accordion ul li a {
     text-decoration:none;
     color:#333;
     }
    #accordion ul li a:hover {
        color:#1e90ff;
        text-decoration:underline;
     }
        </style>
    </head>
    <body>
            <div>
                <ul id="accordion">
                    <li id="0">cat 1
                        <ul>
                            <li><a href="dashboard">menu 1</a></li>
                            <li><a href="#">menu 2</a></li>
                        </ul>
                    </li>
                    <li id="1">cat 2
                        <ul>
                            <li><a href="#">menu 1</a></li>
                            <li><a href="#">menu 2</a></li>
                            <li><a href="#">menu 3</a></li>
                            <li><a href="#">menu 4</a></li>
                            <li><a href="#">menu 5</a></li>
                        </ul>
                    </li>
                    <li id="2">cat 3
                        <ul>
                            <li><a href="#">menu 1</a></li>
                            <li><a href="#">menu 2</a></li>
                            <li><a href="#">menu 3</a></li>
                        </ul>
                    </li>
                    <li id="3">cat 4
                        <ul>
                            <li><a href="#">menu 1</a></li>
                            <li><a href="#">menu 2</a></li>
                            <li><a href="#">menu 3</a></li>
                        </ul>
                    </li>
                    <li id="4">cat 5
                        <ul>
                            <li><a href="#">menu 1</a></li>
                            <li><a href="#">menu 2</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
            <script type="text/javascript">
                var id = 0;
                $("#accordion > li").click(function(){
                    id=(this.id);
                    if(false == $("ul",this).is(':visible')) {
                        $('#accordion ul').slideUp(300);
                    }
                    $("ul",this).slideToggle(300);
                });
                $('#accordion ul:eq('+id+')').show();
            </script>
    </body>
    </html>
    la prima funzione fa funzionare il menu accordion

    la seconda

    $('#accordion ul:eq('+id+')').show();

    fa rimanere aperto il menu selezionato dopo aver cliccato una voce, ed è necessario passare l'id

    questo è il funzionamento

  3. #3
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Scusa ma se usi jQuery e ti serve un accordion perchè devi riscrivere quello che già esiste e funziona?
    https://jqueryui.com/accordion/

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Questo e' quello che hai scritto all'inizio.....
    Quote Originariamente inviata da carmelo86 Visualizza il messaggio

    ho questa funzione qua

    codice:
        $(document).ready(function() {
            $("#accordion > li").click(function(){
                id=(this.id);                                             // VALORE ID
                if(false == $("ul",this).is(':visible')) {
                    $('#accordion ul').slideUp(300);
                }
                $("ul",this).slideToggle(300);
                test(id);
            });
            
            var ok;      
            function test(id) {
               ok= id;                                                    // VALORE ID IN VARIABILE OK
                alert (ok);
    
    
            }
                                                                      // ALERT DI OK QUI PERDE IL VALORE
            $('#accordion ul:eq('+ok+')').show();
        });
    all'interno della funzione test riesco a stampare il valore ID presente nella prima funzione.
    purtroppo però non riesco a riportarlo all'esterno poiché il valore mi servirebbe qui

    codice:
            $('#accordion ul:eq('+ok+')').show();
    cosa sbaglio?
    Quest'ultima parte di codice $('#accordion ul:eq('+ok+')').show(); dove e quando la vorresti richiamare?
    Cosi' come scritto, finché non clicchi una volta non hai nessun id valorizzato. Dovresti almeno usare var ok = 0; al posto di var ok; per avere un indice inziale.
    Se poi vuoi usare : $('#accordion ul:eq('+ok+')').show(); fuori dallo scope jQuery dovresti mettere var ok; (o id come suggerito ) fuori dallo scope.

  5. #5
    Ho trovato una soluzione in alternativa che funziona, passando nel link della pagina tramite GET il valore id
    Peccato solo che si vede nel link il parametro.


    UPDATE:

    tramite htaccess riscrivo il link così da nascondere l'id

    RewriteRule ^admin/admin$ /admin/admin.php?id=7 [L,QSA]
    Ultima modifica di carmelo86; 21-08-2015 a 13:14

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.