Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    L'eresia e` questa:
    if(i%2=1){

    Il confronto si fa con == (e questo e` simile anche in C)

    pero` vedi questa riscrittura dell'if (che da programmatore C ti dovrebbe piacere):

    document.getElementsByTagName("TR")[i].style.backgroundColor = (i%2==1) ? "#FFFFFF": "#000000";

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  2. #12
    Innanzitutto ti ringrazio, Michele, per la tua gentilezza e disponibilità


    Originariamente inviato da Mich_
    L'eresia e` questa:
    if(i%2=1){
    Orpo... :quote:
    scrivendo e riscrivendo la funzione, andando puramente a tentoni, alla fine mi è sfuggita questa panzana, sorry!


    pero` vedi questa riscrittura dell'if (che da programmatore C ti dovrebbe piacere)
    ehm....... non sono un programmatore, anzi! I ricordi di C di cui parlavo riguardavano le prime puntate di un corso notturno che anni fa ho seguito distrattamente sulla rai (bei tempi!)
    Mi piaceva, ma non me la sono sentita di mettermi a studiarlo sul serio.

    document.getElementsByTagName("TR")[i].style.backgroundColor = (i%2==1) ? "#FFFFFF": "#000000";
    Bello! Lo devo inserire nel for, immagino..?
    Ho provato ma non mi funziona ancora...

    codice:
    function riga() {
      if(document.getElementsByTagName) { 
        for(i=0; i < document.getElementsByTagName("TR").length; i++){
          document.getElementsByTagName("TR")[i].style.backgroundColor = (i%2==1) ? "#FFFFFF": "#000000";			
      }
    }

  3. #13
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il tuo inserimento e` corretto.

    Quella riscrittura e` esttamente equivalente al tuo if, per cui non e` quello il problema.

    Che browser usi?
    Perche` in certi browser il <tr> non puo` avere uno sfondo, cosa che occorre definire dentro i <td>.

    Comunque in ogni caso i <td> inseriti non devono avere nessuna formattazione per lo sfondo, altrimenti questa va a sovrascrivere quella del <tr>.

    Per un controllo, inserisci questa riga di alert:
    codice:
    function riga() {
      if(document.getElementsByTagName) { 
        for(var i=0; i < document.getElementsByTagName("TR").length; i++){
          alert("sono alla riga "+i+(i%2==1) ? "bianca" : "nera");
          document.getElementsByTagName("TR")[i].style.backgroundColor = (i%2==1) ? "#FFFFFF": "#000000";			
      }
    }
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #14
    Ho visto il tuo intervento solo poco fa a causa del crash del forum.
    Stavo già per risponderti che ancora non funzionava, perché dopo aver fatto i cambiamenti, aggiunto la riga di test, e aver anche rimesso una } che ci stavamo dimenticando, explorer continuava a rilevare errori nella pagina (ma segnalava che la funzione richiamata nell'onload necessitava di un argomento, il che non aveva senso).
    Ho sezionato la funzione per cercare l'errore, ma niente.
    A un certo punto per fare l'ennesima prova l'ho riscritta, o riincollata non so (ma ti assicuro che l'avevo fatto già diverse volte), ho aggiunto la } ho provato meccanicamente e.... le righe erano colorate! Solo l'alert visualizzava unicamente la parola bianca o nera, non il resto della frase, ma sono bazzeccole! :mavieni:

    Grazie Michele, questo renderà il mio codice molto + leggero (in contrapposizione con questo...)
    Ma soprattutto grazie per la tua disponibilità!


    SB


    PS dimenticavo ancora, ormai solo per curiosità: utilizzo Internet Explorer 6, avevo già utilizzato una pagina col colore assegnato ai TR quindi ero sicuro che dovesse funzionare. Per quanto riguarda la tabella tutte le prove le faccio su una pagina creata apposta, con sono una tabella "nuda", per essere sicuro che non ci siano altri elementi che contrastano quello che sto facendo.

  5. #15
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Gli errori di parentesi sono tremendi, come pure gli errori di virgolette (o apici, tipo l'apostrofo italiano): l'interprete trova errori di sintassi nei posti piu` impensabili (distanti anche decine di righe).

    Sono contento che comunque sei arrivato in fondo.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2026 vBulletin Solutions, Inc. All rights reserved.