Visualizzazione risultati 1 fino 6 di 6

Discussione: [javascript] Cambiare classe ad un elemento

  1. #1
    Guest

    Predefinito [javascript] Cambiare classe ad un elemento

    Ciao a tutti.
    Sto cercando di capire come usare javascript (forseJQuery?) per cambiare classe ad un elemento in un caso particolare.
    Vi spiego.

    Il sito che sto creando è mono pagina, e le varie sezioni "homepage", "about", "servizi" ecc. sono una sotto l'altra e si passa da una all'altra con dei link ancorati.

    Il mio obbiettivo è creare due menu laterali fissi (con position: absolute nei CSS) che presentano tre link ciascuno. Vorrei cambiare classe ai vari link quando ci si trova nella sezione della pagina linkata da quel link.
    Quindi se mi trovo in sito.it/index.php#servizi vorrei che il link che punta a #servizi cambia classe.. come posso fare?
    Spero di essermi spiegato bene, grazie in anticipo,
    arazz.

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice:
    elem.className = "nomeclasse";
    Saluti!

  3. #3
    Guest

    Predefinito

    Grazie mille per la risposta!
    Però così cambio classe.. ma come spiego al computer l'evento che ho descritto?

  4. #4
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    In pratica vuoi cambiare il contenuto in base alle "ancore".

    Codice:
    switch(location.hash) {
    	case "#servizi":
    		elem.className = "servizi"
    	break;
    	// etc...
    }

  5. #5
    Guest

    Predefinito

    Grazie mille! credo di aver capito!!

  6. #6
    Guest

    Predefinito

    Salve, sfrutto questo topic già aperto per chiedervi un consiglio su un argomento simile...

    Allora, la mia pagina ha delle sottosezioni il cui contenuto è richiamato da un file esterno mediante js al momento del click su una delle sezioni del menù contestuale...la pagina ovviamente non viene ricaricata, ma viene soltanto modificato il contenuto...
    Quello che vorrei io è che al momento del click e del caricamento del nuovo contenuto, la sezione clickata sul menù contestuale cambi classe css passando a ".selected"

    Consigli?

    La struttura è questa:
    Codice:
    <table id="menu_contestuale" border="0" cellspacing="0" cellpadding="0" width="160">
      	<tr>
    	    <td><a href="javascript:sendReq(doc, mode1)">Link1</a></td>
            </tr>
            <tr>
    	    <td><a href="javascript:sendReq(doc, mode2)">Link2</a></td>
    	</tr>
            ecc....                    
    </table>
    (Per farvi capire meglio, se clicco su link1, nella parte centrale della pagina mi si apre la sezione che mi interessa, però vorrei anche che Link1 diventasse ".selected"; naturalmente, al passaggio ad un'altra sezione quel link deve ritornare allo stato normale, mentre il nuovo deve a sua volta diventare ".selected")

    Grazie

    EDIT
    Ce l'ho fatta
    function getElementsSelected()
    {
    var id;
    var _getAllTags = document.getElementsByTagName('*');
    for(var i = 0; i < _getAllTags.length; i++)
    {
    if (_getAllTags[i].className == "selected")
    {
    id = _getAllTags[i].id;
    }
    }
    return id;

    }


    function cngClass(doc) {
    var a = getElementsSelected();
    if(a != null)
    {
    document.getElementById(a).className = "";
    }
    document.getElementById(doc).className = "selected";

    }
    Ultima modifica di myphpbb2 : 23-12-2009 alle ore 19.00.21

Tags for this Thread

Regole di scrittura

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