Visualizzazione risultati 1 fino 9 di 9

Discussione: Permanenza stile dopo click del mouse

  1. #1
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito Permanenza stile dopo click del mouse

    Ciao, ho dei link che fungono da selezioni (cliccandoli si rimane nella stessa pagina) vorrei fare in modo che una volta cliccati cambi il loro stile in modo definitivo, una sorta di :active permanente, come posso fare? e' possibile farlo con il CSS o serve il javascript?

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Penso sia necessario js. All'evento onclick cambi le varie proprietà con js.

    Ciao!

  3. #3
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    Ho dei div che hanno la stessa classe e devo fare uno script che quando clicchi su uno di essi rimanga un determinato stile, e che poi quando clicchi su un altro div rimuove lo stile dal precedente per applicarlo a quello nuovo. Come posso fare?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Sì, in javascript non dovrebbe essere difficile farlo (come dicevo sopra). Dove trovi problemi?

    Ciao!

  5. #5
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    Trovo problemi nel fare in modo che quando clicco su un altro div lo stile si elimina dal precedente per applicarlo a l'ultimo che ho cliccato. Su un div singolo ci sono riuscito senza problemi cosi:

    Codice:
    <style>
    function cambiasfondo(cambia_sfondo){
       document.getElementById('div').style.backgroundColor = "#000";
      }
    </style>
    
    <div id="div" onclick="cambia_sfondo()"></div>
    Ma in questo modo si va a collegare esclusivamente all'id di una specifica selezione, io devo fare selezioni multiple
    Ultima modifica di bcprojects : 23-05-2018 alle ore 17.35.42

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Devi usare una memoria, come una variabile, ad esempio:
    Codice:
    var ultimoclick = false;
    function cambiasfondo(id)
    {
    	if(ultimoclick)
    		document.getElementById(ultimoclick).style.background = '#F00';
    	ultimoclick = id;
    }
    esempio

    Ciao!

  7. #7
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    Grazie alemoppo. Prendendo la pagina d'esempio che hai fatto, dove di base ci sono 4 div gialli, devo fare una cosa del genere: clicco ad esempio sul secondo div e diventa rosso, poi clicco sul quarto che diventa rosso mentre il secondo torna giallo, e cosi via anche per gli altri

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Non ti viene proprio in mente come fare questa piccola modifica?

    Ciao!

  9. #9
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    ok ci sono arrivato anche se non in maniera proprio elegante... ho fatto cosi:

    Codice:
    			<script language="Javascript">
    <!--
    
    var ultimoclick = false;
    function cambiasfondo(id){
    	
    	document.getElementById(id).style.background = '#f00';
    					
    
    	if(ultimoclick)
    		document.getElementById(ultimoclick).style.background = '#fff';
    	
    	ultimoclick = id;
    	
    }
    -->
    </script>
    
    	<div id="div1" onclick="cambiasfondo(this.id); "></div>
    <div id="div2" onclick="cambiasfondo(this.id); "></div>
    Ultima modifica di bcprojects : 25-05-2018 alle ore 17.09.27

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •