Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Ciao Vindav,

    ti ringrazio ancora per la tua funzione !!

    Per cortesia mi potresti spiegare a livello teorico come funziona ?? Ho provato a ragionarci su' ma non riesco a comprendere bene il suo giusto funzionamento !!

    Grazie ancora in anticipo !!!

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    - la lista della tua pagina html (ul->li) è una struttura dati collegata, ossia è un insieme di nodi in cui esistono dei legami fra essi.
    - quella che ho scritto è una funzione ricorsiva, cioè una funzione che, all'interno della sua definizione, invoca se stessa (con argomenti diversi). Per estrapolare dati da una struttura gerarchica padre/filgio è utile utilizzare una funzione ricorsiva.

    Entrando nell specifico l' operazione da effettuare è sempre le stessa, cioè quella di recuperare il testo all'interno dei tag a della struttura.
    Questa operazione va effettuata per tutti i tag genitori del tag a cliccato, invece di ripetere n volte il codice per recuperare il testo contenuto in tutti tag a della catena padre/figlio posso riciclare lo stesso codice usando appunto una funzione ricorsiva.

    Un esempio, se l'utente clicca su Milano, per riempire l'input text devo recuperare i testi del tag a cliccato e di tutti i suoi genitori(Lombardia e Nord).
    Il primo paramentro della funzione(el) sarà quindi valorizzato con il tag a di volta in volta preso in considerazione, nel nostro caso la prima volta corrisponderà al tag a di Milano, la seconda volta con Lombardia e la terza con nord.
    Ad ogni passaggio mi salvo in una variabile temporanea il testo del tag a preso in considerazione.
    Quando il contenuto del tag a passato alla funzione sarà uguale ad "ITALIA" significa che sono arrivato alla radice e quindi posso valorizzare l'input text con il contenuto della variabile temporanea.
    Il secondo parametro è solo una variabile booleana di appoggio che mi serve per capire se la funzione è stata richiamata da un click dell'utente o dalla funzione stessa. Vedi anche i commenti nel codice.

    codice:
    function setInputValue(el, bool){ 
      if(!bool) tempValue = ""; // se il parametro booleano è diverso da true svuoto la variabile che conterrà il risultato dell'operazione
      nodeParent = el.parentNode.parentNode.parentNode.children[0]; //recupero il genitore del tag a passato in input alla funzione
    
      /*se il testo contenuto nel tag a passato alla funzione è diverso da "italia" significa che non sono ancora arrivato alla radice della lista e 
      continuto esaminado il tag padre altrimenti valorizzo input*/
      if(el.innerHTML != "Italia"){ 
        tempValue = el.innerHTML +"/"+tempValue; //concateno il contenuto del tag a preso in considerazione e di tutti i tag a figli                                       
        setInputValue(nodeParent,true);
      }else{
        document.getElementById("choice").value =tempValue.substring(0,tempValue.length-1);  //valorizzo input rimuovendo ultimo carattere (/)                                       
      }
    }

  3. #13
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie mille Vindav,

    ho letto bene i tuoi commenti che riposto in quanto la parte finale di essi con il tag code era stata tagliata ...

    Ti ringrazio davvero tanto !!!!

    function setInputValue(el, bool){
    if(!bool) tempValue = ""; // se il parametro booleano è diverso da true svuoto la variabile che conterrà il risultato dell'operazione
    nodeParent = el.parentNode.parentNode.parentNode.children[0]; //recupero il genitore del tag a passato in input alla funzione

    /*se il testo contenuto nel tag a passato alla funzione è diverso da "italia" significa che non sono ancora arrivato alla radice della lista e continuto esaminado il tag padre altrimenti valorizzo input*/

    if(el.innerHTML != "Italia"){
    tempValue = el.innerHTML +"/"+tempValue; //concateno il contenuto del tag a preso in considerazione e di tutti i tag a figli
    setInputValue(nodeParent,true);
    }else{
    document.getElementById("choice").value =tempValue.substring(0,tempValue.length-1); //valorizzo input rimuovendo ultimo carattere (/)
    }
    }



  4. #14
    Buonasera, tra le tante discussioni trovate penso che questa sia quella che come tema ci si avvicina di più.
    Ho da poco pubblicato un sito (http://www.siraresort.com) e ho dei fastidiosi problemi con il menu':
    - il link con sottomenu va ad attivare, in modo permanente, l'effetto hover a tutta la tendina (es. cliccando su GALLERY);
    - alcune volte es. cliccando su GALLERY e successivamente su VIDEO...la pagina non risale;
    - sulle altre pagine, diverse dalla home, i link del menu (ho provato http://www.siraresort.com - http://www.siraresort.com/#resort - #resort) non portano da nessuna parte;
    - in modalità mobile il menu aperto va oltre la viewport e le ultime voci non si leggono.

    Non ho postato codice perchè è possibile vederlo online.
    Grazie mille.

  5. #15
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Ho visitato velocemente il sito con firefox e rilevo questi errori:
    Error: Permission denied to access property 'toString' https://s.ytimg.com/yts/jsbin/www-em...mbed-player.js Line 25
    TypeError: Placeholders.init is not a function http://www.siraresort.com/js/main.js Line 412
    o visto anche che hai due librerie jquery che oltre ad essere inutili potrebbero dare problemi
    codice:
    <script src="http://code.jquery.com/jquery-2.0.2.min.js" type="text/javascript">
    <script src="http://code.jquery.com/jquery-1.8.2.js">
    Ultima modifica di cavicchiandrea; 28-01-2015 a 22:03
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.