Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: deselezionare un href

  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    deselezionare un href

    ho una situazione di questo tipo:

    link
    link1
    link2

    è possibile che un utente clicchi uno di questi link facendo diventare il background colorato,
    al contrario però se un utente clicca un altro link, il link precedentemente attivato e colorato con il comando :this.style.background = '#ffcc00'; dovrebbe diventare nuovamente bianco e il nuovo link dovrà essere evidenziato come il precedente.

    forse dovrei usare un ciclo che prima pulisca i link selezionati ?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: deselezionare un href

    Originariamente inviato da agenti
    forse dovrei usare un ciclo che prima pulisca i link selezionati ?
    buona idea

  3. #3
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    maggiore severità nei titoli...
    nelle risposte no ?


  4. #4
    Così avevi già provato (senza scomodare javascript)?

    codice:
    XHTML
    
    Link
    
    
    CSS
    
    a:active
    {
       background-color:#FC0;
    }

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    intendi dire che sai che serve un ciclo ma non come fare?
    dopo cosi' tanto tempo che ti vedo girare da queste parti mi sorprende

    es. terra terra
    codice:
    function cambiaClasse(t){
    	var m=document.getElementById('menu').getElementsByTagName('a');
    	for(n=0;n<m.length;n++){
    		if(m[n]==t){
    			t.className='barOn'
    		}
    		else if(m[n].className=='barOn'){
    			m[n].className='bar'
    		}
    	}
    }
    codice:
    <div id="menu">
    link
    link1
    link2
    </div>
    ciao

  6. #6
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    si, ma avevo risolto...

    function pulisci(val)
    {
    var coll=document.getElementsByTagName('a');
    for(var x=0;x<coll.length;x++)
    if(coll[x].getAttribute('class') == val )
    {
    coll[x].style.backgroundColor='#ce0000';
    }

    }



    però in questo caso mi inibiva gli stili del link "hover"

    grazie.

  7. #7
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    però però la cosa non va del tutto....


    function pulisci(val)
    {
    var target = document.getElementById(val)
    var coll=target.document.getElementsByTagName('a');
    alert(val);
    for(var x=0;x<coll.length;x++)

    coll[x].style.backgroundColor='#ce0000';
    // }

    }

    immaginate che ho due aree chiamate td_left e td_right

    io richiamo la funzione così: pulisci('td_left')

    il problema è che non "pulisce" solo l'area td_left ma anche td_right


  8. #8
    Ma quel semplice CSS che ho suggerito sopra non basta? Hai provato?

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    no non basta...

  10. #10
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    codice:
    function pulisci(val)
    {
     
      var coll = document.getElementById('td_left').document.getElementsByTagName('a'); 
      for(var x=0;x<coll.length;x++) 
        coll[x].style.backgroundColor='#ce0000'; 
    
    }
    FF mi risponde:

    Errore: document.getElementById("td_left").document has no properties
    Riga: 77

    <td id="td_left">
    link
    </td>
    dove sbaglio ?

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.