Visualizzazione dei risultati da 1 a 4 su 4

Discussione: menu a tendina

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106

    menu a tendina

    Ciao ragazzi,

    dispongo del seguente codice, non creato da me, per visualizzare all'interno di una pagina una lista di parole.

    newTagElem = document.createElement("a");
    newTagElem.setAttribute("class", "tag-list-tag m size1");
    newTagElem.setAttribute("href", "#");

    newTagLi = document.createElement("li");
    newTagLi.appendChild(newTagElem);

    Quello che devo fare è modificare la lista di parole e fare in modo che, per ogni parola, venga visualizzata un "sotto-lista" di parole correlate. Ecco, dunque, che ho pensato di fare in questo modo:

    newTagElem.setAttribute("onmouseover", showsyns(array, arraysyns));
    newTagElem.setAttribute("onmouseout", hidesyns());

    aggiungendo cioè gli eventi onmouseover e onmouseout per visualizzare dei menu a tendina per ogni parola. A questo punto, però, non ho proprio idea su come implementare le funzioni showsyns e hidesyns. Voglio dire: come faccio a visualizzare il menu a tendina in corrispondenza di ogni elemento della lista?E poi, come faccio a visualizzare, in ogni menu, altre parole che siano selezionabili attrverso un click?

    Ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    class e' consigliabile non assegnarlo via setAttribute
    newTagElem.className="tag-list-tag m size1";

    i gestori evento non sono tecnicamente attributi, anche in questo caso e' meglio non vengano assegnati via setAttribute
    esiste un attachEvent/addEventListener, ma visto che con IE si finisce facilmente fuori scope o si usa una funzione ad hoc (addEvent, ne trovi a bizzeffe con una ricerca) o e' il caso di settarli brutalmente

    newTagElem.onmouseover=function(){nomeFunzione(thi s);}

    in questo modo, il this e' sempre l' elemento

    le altre domande non mi sono chiare

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106
    Ciao e grazie per aver risposto.

    Innanzitutto faccio un passo indietro. Quello che sto facendo è modificare un plugin già esistente per Firefox, quindi eventuali incompatibilità con IE non mi interessano. Aggiungo che è la prima volta che faccio una cosa del genere.

    Ora: il codice è stato già scritto da altri, quello che devo fare è visualizzare, in corrispondenza di una lista di parole che esiste già, i sinonimi di ognuna di queste parole. Per fare questo ho pensato di utilizzare un onmouseover che al passaggio del mouse su ogni parola mi visualizzi i relativi sinonimi.

    Il primo problema è capire come "agganciare" ad ogni parola il relativo menu. Dal tuo suggerimento credo di capire che dovrò fare:
    newTagElem.onmouseover=function(){nomeFunzione(thi s);}
    in cui this rappresenta il mio newTagElem e fare poi this.appendChild(menu_sinonimi) in cui menu_sinonimi sarà la sezione che conterrà la lista dei miei sinonimi. Giusto?

    Ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da iako
    in cui this rappresenta il mio newTagElem e fare poi this.appendChild(menu_sinonimi) in cui menu_sinonimi sarà la sezione che conterrà la lista dei miei sinonimi. Giusto?
    plausibile

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.