Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    541

    Come faccio a far scomparire la tabella?

    Ciao ragazzi ho questo contatore che fa il conto alla rovescia.

    Dovrei fare in modo che alla sua scandenza non scompaia solo lo script ma anche l'intera tabella nel quale è contenuto , come dovrei modificare tale codice?


    Grazie





    <TABLE width=100% border=0 align="center" cellPadding=0 cellSpacing=0 bgColor=#0000CC style="margin-top:10px">
    <TBODY>
    <TR>
    <TD vAlign=top> <TABLE cellSpacing=1 cellPadding=0 width=100% border=0>
    <TBODY>
    <TR>
    <TD colSpan=12 bgColor=#000000> <table width="100%" border="0">
    <tr>
    <td width="12%"><div align="right"></div></td>
    <td width="77%"> <font color="red" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <center>
    <script language="JavaScript" type="text/javascript">
    var before="MEETING A DESENZANO DEL GARDA !!"
    var current="OGGI MEETING A DESENZANO, NON MANCARE !!"
    var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","A ug","Sep","Oct","Nov","Dec")
    function countdown(yr,m,d){
    var today=new Date()
    var todayy=today.getYear()
    if (todayy < 1000)
    todayy+=1900
    var todaym=today.getMonth()
    var todayd=today.getDate()
    var todaystring=montharray[todaym]+" "+todayd+", "+todayy
    var futurestring=montharray[m-1]+" "+d+", "+yr
    var difference=(Math.round((Date.parse(futurestring)-Date.parse(todaystring))/(24*60*60*1000))*1)
    if (difference==0)
    document.write(current)
    else if (difference>0)
    document.write("Mancano "+difference+" giorni al "+before)
    } countdown(2009,09,22)</script>
    </center>
    </font> </td>
    <td width="11%"></td>
    </tr>
    </table></TD>

    </TABLE></TD>
    </TR>
    </TBODY>
    </TABLE>

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    541
    grazie cane nero per il link... ma cosa centra con il mio codice?.... tra l'altro lo deve fare in base allo javascript già presente nel codice e non quelli indicati su quella pagina.

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cane-nero,
    giustifica la tua risposta altrimenti c'entra come i cavoli a merenda, parenti stretti dello spam

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    541
    nessuno ha idea?

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice e logica discutibili,
    ti butto giu una soluzione velocissima, a te provarla

    cambia
    if (difference==0)
    document.write(current)

    in
    codice:
     
    if (difference==0){
      var el=document.getElementById('id_tabella');
      el.parentNode.removeChild(el);
    }
    e assegna un id alla tabella

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    541
    Ciao Xinod


    ho fatto diventare il codice così :


    inizio codice :

    <TABLE width=100% id="XX" border=0 align="center" cellPadding=0 cellSpacing=0 bgColor=#0000CC style="margin-top:10px">




    ....


    if (difference==0){
    var el=document.getElementById('XX');
    el.parentNode.removeChild(el);
    }


    ...

    ho provato pure così mantenendo sulla tabella l'ID : "XX":



    if (difference==0){
    var el=document.getElementById('id_tabella');
    el.parentNode.removeChild(el);
    }



    Tuttavia il codice del conto alla rovesca seppur scada e scompare ... la tebella rimane comunque!

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in ogni caso ti consiglio di consultare la console di firefox che da informazioni utili sul perche' uno script non funziona

    ma senza cambiare nulla rispetto al codice originario scriverebbe mai questo
    "OGGI MEETING A DESENZANO, NON MANCARE !!"?

    se anche si verificasse, potrebbe dare problemi in quanto l' istruzione che rimuove l' elemento con quell' id viene lanciata prima che l' elemento venga chiuso

    e qui torniamo al fatto che sta roba che hai postato fa un po' pena:
    richiama la funzione all' onload, scrivi dentro un elemento con innerHTML,
    cosi' puoi rendere il countdown in tempo reale senza grandi sforzi
    e sicuramente l' elemento esiste ed e' chiuso quando cerchi di rimuoverlo

    poi, questo si usava 10 anni fa
    var todayy=today.getYear()
    if (todayy < 1000)
    todayy+=1900

    var todayy=today.getFullYear() fa quello che ti aspetti senza giri

    questo quello che salta immediatamente all' occhio,
    personalmente non ho tempo neanche di leggerlo per bene

    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    541

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    niente di personale, spero non te la sia presa,
    pero' quando ci sono errori logici o sintattici negli script va fatto notare
    almeno, io la penso cosi'

    ripartiamo da zero con una premessa:
    questo problema sarebbe meglio risolverlo lato server,
    facendo scrivere o meno tutto il blocco, avendo a che fare con una data piu' attendibile
    quindi mettiamo che tu sia nell' impossibilita' di usare linguaggi lato server

    quanto ti ho indicato all' inizio mi risulta funzionare in firefox, non in IE (6 e 7)
    probabilmente per il discorso che ho gia' affrontato:
    cerchi di eliminare "in tempo reale" un elemento che non e' ancora chiuso

    come si fa ad esser certi che l' elemento sia chiuso?
    • si richiamano istruzioni che lo riguardano onload sul body, es
      codice:
      <table ... id="XX">
      ...
      <script>
      // ...resto dello script
      if (difference==0) {
        window.onload=function(){
           var el=document.getElementById('XX');
           el.parentNode.removeChild(el);
        }
      }
      // ...
      </script>
      ...
      </table> // fine di XX
      ...
      e qui potresti gia' avere altre istruzioni onload e quindi devi evitare di sovrascrivere l' onload
      (e ci sono tante discussioni al riguardo, anche linkate in script/discussioni utili)




    • oppure immediatamente dopo la chiusura dell' elemento in questione
      codice:
      <table ... id="XX">
      ...
      <script>
      var daEliminare=false;
      // resto dello script
      if (difference==0) daEliminare=true;
      // ...
      </script>
      ...
      </table> // fine di XX
      <script>
      if(daEliminare){
        var el=document.getElementById('XX');
        el.parentNode.removeChild(el);
      }
      </script>
      ...

    non ho ulteriore tempo da dedicare alla questione,
    quindi da parte mia chiudo qui,
    buon proseguimento

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.