Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347

    display:block per le righe

    salve,

    sto facendo un piccolo js per visualizzare e nascondere alcunre righe di una tabella.
    quando nascondo la riga faccio un modo che il display della riga venga impostato su "hidden"
    quando invece devo visualizzarla imposto il display su "block"

    mi succede però che un TR impostato su block mi si accorcia tutto verso il lato sinistro nella tabella...mando delle immagini per farvi rendere conto.

    come mai succede sta cosa? devo impostare qualche altro parametro per evitare che le righe si comportino in quel modo, o devo utilizzare qualche altra proprietà al posto del display (ho gia provato con visibility, nasconde, ma lo spazio se lo piglia uguale...)

    le righe in questione sono quelle delle immagini
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non so cosa sia un
    display: hidden;
    Io conosco display: none; (oppure visibility: hidden;)

    Comunque sia, le tabelle hanno display diversi: vedi ad esempio http://www.w3schools.com/css/css_ref...classification
    Quindi un tr dovresti definirlo come: display: table-row;
    Pero` questo non e` riconosciuto da IE6, a cui devi invece daredisplay: block;

    Il codice JS dovrebbe quindi essere:
    display = IE6 ? "block" : "table-row";
    dove evidentemente la variabile booleana IE6 e` stata settata opportunamente in precedenza
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347
    per il display è "none", ho sbagliato a scrivere nel messaggio..pardon...

    per il javascript il cosice è molto semplice :

    Codice PHP:
    function hiddenImmagini(num){
     for(
    i=1;i<=30;i++){
      if(
    i<=num){
       
    document.getElementById("trimmagine"+i).style.display "block";
      }else{
       
    document.getElementById("trimmagine"+i).style.display "none";
      }
     }
    }
    hiddenImmagini(30
    il problema alla fine era il "block", applicando questo parametro al "tr", il firefox mi accostava la righa della tabella a sinistra e l'accoricava. Il problema di base era questo : come applicare il block senza sconvolgere la struttura delle righe della tabella?

    al chè ho trovato una soluzione molto semplice:
    quando devo nascondere la riga uso document.getElementById("trimmagine"+i).style.disp lay = "none";
    quando invece devo viasualizzarla, al posto di applicare il "display:block", gli applico un "display:", cioè : document.getElementById("trimmagine"+i).style.disp lay = "";

    pare funzioni...


    l'unico cosa che non ho capito, e che ormai non manco mi interessa più di tanto in quanto ho trovato la soluzione, è sapere perchè il firefox col display:block ha quella reazione e se c'è un parametro del display per visualizzara un elemento nascosto oltre al parametro nullo...

    grazie per l'attenzione e l a pazienza..

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Una riga di tabella, in CSS2, non e` di tipo blocco: un tipo blocco non e` adatto ad una tabella.
    Ecco perche` FF non reagisce bene.

    Il display vuoto, credo sia una soluzione buona per tutti i browser.

    Ora vedi come ti riscrivo la tua funzione:
    codice:
    function hiddenImmagini(num){
      for(var i=1;i<=30;i++){
        document.getElementById("trimmagine"+i).style.display = (i<=num) ? "block" : "";
      }
    }
    PS: non mi piacciono i vettori che partono da 1, ma non so come e` fatto il resto, per cui non lo cambio.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    347
    l apartenza da 1 è una soluzione strategica...
    in pratica avrei poi dovuto aggiungere uno in più parti del codice sia javascript che asp...
    grazie per la sintassi abbreviata del codice, questo tipo di condizione mi ha sempre messo in difficoltà, per questo viaggio ancora con l'if, then, else....eheh


    grazie ancora

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.