Visualizzazione dei risultati da 1 a 10 su 10

Discussione: cambio foglio stile

  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    cambio foglio stile

    Ho un pulsante:
    e un layer
    codice:
    <div id="ten1">bla bla bla</div>
    Vorrei che passando con il mouse sul pulsante venisse sostituito il foglio stile al div e che da ten1 diventi ten2.

    Mi servirebbe una soluzione compatibile con più broswer possibili.

    Sonia

  2. #2
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Mi correggo... non voglio la sostituzione del foglio stile, ma dello stile ten1 con lo stile ten2 che si trovano nello stesso css!

    Sonia

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    L'id di un oggetto non puoi cambiarlo tanto facilmente. Puoi cambiarne la classe:

    <div id="ten1" class="skin1"> ... </div>

    <a href="#" onclick="return false;" onmouseover="document.getElementById('ten1').class Name='skin2';"
    onmouseout="document.getElementById('ten1').classN ame='skin1';">

    Le due classi skin1 e skin2 devono essere definite nel CSS della pagina.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Grazie mitch!
    Ho fatto come hai detto, ma direi che c'è un passaggio che non va, in quanto lo script non restituisce errori, ma la skin non viene cambiata.
    bottone:
    Layer:
    codice:
    <div id="tendina1" class="skin1">sdlkfjalskd</div>
    Css:
    codice:
    #skin1{visibility: hidden;}
    
    #skin2{visibility: visible;}

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ho detto ceh ci devono essere le classi, non gli id:

    CSS
    codice:
    .skin1{visibility: hidden;}
    
    .skin2{visibility: visible;}
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    mmm... livello di fusione = 100%
    Grazie funziona

    Adesso vorrei però che una volta che il livello appare scompaia se clicco da un'altra parte e non all'onmouseout. è possibile?

    inoltre è possibile chiamare due differenti funzioni sullo stesso comportamento?
    tipo: onclick="funz1(),funz2()"
    se si com'è la corretta sintassi?

    Sonia

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    1. e` possibile - devi usare gli eventi opportuni

    2. la sintassi corretta:
    onclick="funz1();funz2();"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Funzionaaaaaa
    Grazieee mille

    Ultimissima domanda:
    Al momento il mio codice è così:
    Ho tolto onclick="return false;" perchè è stato sostituito con altri comportamenti, cosa serviva quel return false? è necessario metterlo per altri eventi?

    Grazie
    Sonia

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    IL return false serve per impedire l'esecuzione del link: se non lo metti prova ad andare al link # che nella maggior parte dei browser corrisponde ad andare ad inizio pagina.

    Nel tuo caso quindi conviene metterlo:
    onclick="document.getElementById('tendina1').class Name='skin2'; return false;"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Era troppo bello che quella fosse l'ultima domanda...
    Dunque per far si che al click esterno il livello si chiudesse ho messo nel body
    codice:
     onClick="document.getElementById('tendina1').className='skin1';"
    Solo che ovviamente se io clicco sul pulsante è un click all'interno del body e quindi il livello alla fine non viene visualizzato.

    Sonia

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.