Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    onmouseover multipli contemporaneamente su tabella

    Ciao,
    ecco il mio problema:

    Data una tabella, come faccio a cambiare il colore di più celle NON ALLINEATE con un singolo evento mouseover?

    codice:
    <td>
     <ul>[*]Uno[*]Due[*]Tre/li>
    </td>[/list]
    
    <td>
       <ul>[*]Quattro[*]Cinque [*]Sei[/list]
    </td>
    Vorrei cioè che al mouseover su "Uno" cambiasse colore anche "Sei".
    Possibile?
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In quel codice c'e` un po' di confusione (nella logica, perche` nella sintassi non ci sono errori):
    parli di celle (si intende di tabella), ma poi ti riferisci ad elementi di lista.

    Comunque se non puoi creare una gerarchia di oggetti innestati (indipendentemente dal loro posizionamento), la soluzione si puo` ottenere solo tramite Javascript.

    Sposto nel forum JS.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    @papalagi ciao e benvenuto, ti ricordo che il cross-post (stessa discussione su più forum) è vietato ricordatelo in futuro.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    scusate per gli errori ma sono proprio alle prime armi.

    allora, con JS non so come strutturare il codice per associare il mouseover ai due elementi di lista
    Questo è sicuramente sbagliato ma non so come correggerlo:

    ...
    <script>
    document.getElementById("rosso").onMouseOver.style .backgroundColor="red";
    </script>
    </head>

    <body>
    <td>
    <ul>
    <li id="rosso">Uno[*]Due[*]Tre/li>
    </td>[/list]

    <td>
    <ul>[*]Quattro[*]Cinque
    <li id="rosso">Sei[/list]
    </td>
    ...

  5. #5
    @cavicchiandrea scusa ma non sapevo quale fosse il posto più adatto e nel dubbio...
    cancellerei l' altra ma dal mio profilo vedo solo questa

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto devi evitare errori grossolani di HTML, altrimenti il JS non sa cosa fare:
    Non si possono dare due nomi uguali a due oggetti diversi (id="rosso").

    Poi per come procedere, fa' una riceerca in questo forum: e` un problema gia` affrontato e risolto, per cui esiste gia` la soluzione pubblicata.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Avevo fatto la ricerca prima di aprire la discussione, l' ho rifatta adesso ma non trovo quello che fa al caso mio. Tu hai il link della soluzione di cui parli?
    Grazie per le correzioni, ho modificato così ma suppongo che ancora non ci siamo.
    Se non il link almeno mi puoi indirizzare a grandi linee sul metodo giusto?

    <script>
    function colore()
    {
    document.style.backgroundColor="red";
    }
    document.getElementById("rosso").onMouseOver.style .backgroundColor="red";
    </script>
    </head>

    <body>
    <td>
    <ul>
    <li onmouseover="colore()">Uno[*]Due[*]Tre/li>
    </td>[/list]

    <td>
    <ul>[*]Quattro[*]Cinque
    <li id="rosso">Sei[/list]
    </td>
    ...

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho lo script pronto. Anch'io andrei a cercare spunti.

    Pero` non puoi improvvisarti programmatore: un minimo di basi dovresti averle prima di procedere.

    Visto che ti mancano le basi, prova con questa sintassi (non e` corretta secondo la programmazione, ma dovrebbe funzionare in quasi tutti i browser) - ed elimina quanto contenuto nel tuo <script>
    codice:
    <td>
      <ul>
        <li onmouseover="document.getElementById('rosso').style.backgroundColor='red';">Uno[*]Due[*]Tre/li>[/list]
    </td>
    
    <td>
      <ul>[*]Quattro[*]Cinque
        <li id="rosso">Sei[/list]
    </td>
    Nota che JS e` case-sensitive;
    e nota che in questo esempio " e ' hanno significati diversi
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Grazie per la pazienza e le risposte anche se ancora non li colora entrambi ma solo Sei...

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Questo e` quello che fa quel JS.
    per colorare quello dove hai il mouse, ti basta la pseudoclasse :hover del CSS.

    Poi se vuoi fare passi avanti con JS, devi iniziare con un corso (vedi quello di HTML.it - mi era sembrato buono, quando lo avevo guardato)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.