Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    128

    aggiungere un pezzo di codice

    Ciao a tutti, vi espongo il mio problema:
    ho il seguente codice html
    codice:
    <div id="chooseStyle">
    		<ul>
    			[*]Reset
    			[*]Base
    			[*]Stampa2
    			[*]Stampa3
    		[/list]
    </div>
    in base a dove clicco mi cambia il foglio di stile.
    Io vorrei, sembre in base a dove clicco, aggiungere al tag[*] la seguente frase: class="selelezionato".
    Come posso fare?
    grazie

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    [*]Reset
    dovrebbe andare

  3. #3
    Prova ad aggiungere questa funzione in fondo a 'setActiveStyleSheet':

    codice:
    function attiva_pulsante()
    {
       var elenco = document.getElementById('chooseStyle')
       var voci = elenco.getElementsByTagName('li')
       
       for (var i = 0; i < voci.length; i++)
       {
          voci.item(i).className = ''
       }
       this.className = 'selezionato'
    }
    Ah, per la cronaca, non si tratta di 'aggiungere codice', ma di impostare valori degli attributi tramite il DOM di javascript.

    P.S. Nel caso in cui js sia disabilitato o non presente sul browser dell'utente, lo switch non funzionerebbe e pertanto ti ritroveresti con un elenco di pulsanti inutili. Quindi, perchè non generare anche quelli direttamente dallo script?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    128
    Originariamente inviato da pierofix
    Prova ad aggiungere questa funzione in fondo a 'setActiveStyleSheet':

    codice:
    function attiva_pulsante()
    {
       var elenco = document.getElementById('chooseStyle')
       var voci = elenco.getElementsByTagName('li')
       
       for (var i = 0; i < voci.length; i++)
       {
          voci.item(i).className = ''
       }
       this.className = 'selezionato'
    }
    Ah, per la cronaca, non si tratta di 'aggiungere codice', ma di impostare valori degli attributi tramite il DOM di javascript.

    P.S. Nel caso in cui js sia disabilitato o non presente sul browser dell'utente, lo switch non funzionerebbe e pertanto ti ritroveresti con un elenco di pulsanti inutili. Quindi, perchè non generare anche quelli direttamente dallo script?
    Questo è il codice per lo switch modificato ma non mi funziona, sbaglio da qualche parte?:
    codice:
    function attiva_pulsante()
    {
       var elenco = document.getElementById('chooseStyle')
       var voci = elenco.getElementsByTagName('li')
       
       for (var i = 0; i < voci.length; i++)
       {
          voci.item(i).className = ''
       }
       this.className = 'selezionato'
    }
    
    
    function setActiveStyleSheet(title) {
      var i, a, main;
      if (title) {
        for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
          if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title')) {
            a.disabled = true;
            if(a.getAttribute('title') == title) a.disabled = false;
          }
        }
      }
      attiva_pulsante();
    }
    Guardando la sorgente selezionata (con firefox) mi compare solo <li class=" "> in tutti i link, anche quello dove ho cliccato

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    128
    no, guardando la sorgente selezionata (con firefox) mi compare solo <li class=" "> in tutti i link, anche quello dove ho cliccato

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    codice:
    function attiva_pulsante(obj) {
       var elenco = document.getElementById('chooseStyle');
       var voci = elenco.getElementsByTagName('li');
       
       for (var i = 0; i < voci.length; i++) {
          voci.item(i).className = '';
       }
       obj.parentNode.className = 'selezionato'
    }
    
    
    function setActiveStyleSheet(title, obj) {
      var i, a, main;
      if (title) {
    // questo mi sembra sbagliato, non vedo una condizione di uscita
        for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
          if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title')) {
            a.disabled = true;
            if(a.getAttribute('title') == title) a.disabled = false;
          }
        }
      }
      attiva_pulsante(obj);
    }
    [*]Reset

  8. #8
    Sì, scusate, scemo io: la classe era da applicare al genitore di 'a'. Grazie floyd!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    128
    Grazie mille, siete stati velocissimi e gentilissimi. Per evitare di disturbarvi ogni volta, potete dirmi un link (possibilmente in italiano) dove spieghi bene il DOM di javascript?
    grazie

  10. #10
    Questa secondo me è una delle risorse più affascinanti, però è in inglese (ma vale la pena magari spendere un po' di tempo a studiarla comunque):

    - http://icant.co.uk/articles/from-dht...scripting.html

    Questa non l'ho letta, però è segnalata nel blog di html.it:

    - http://www.pixline.net/2006/09/javas...ntrusivo-1di6/

    Fidiamoci.

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.