Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435

    [JS] Script per gestione news

    Ho scritto un piccolo script per la gestione delle news..:

    Codice PHP:
    var vDate=new Array();
    var 
    vNiuvs=new Array();

    vDate[0]="[b]ERR:[/b] NO <strike>DATE</strike> <u>@</u> THIS POS#!";
    vDate[1]="[b]Dom[/b] 23 Nov 2003";
    vDate[2]="[b]Lun[/b] 24 Nov 2003";
    vDate[3]="[b]Mar[/b] 25 Nov 2003";

    vNiuvs[0]="[b]ERR:[/b] NO <strike>NEWS</strike> <u>@</u> THIS POS#!";
    vNiuvs[1]="Inizio la stesura dello script per la gestione delle NIUVS.";
    vNiuvs[2]="Aggiunto orologio in JS sulla sinistra (sotto il men&ugrave; ). (IFF (00:00:00) e-mail ELSE BREAK; ).";
    vNiuvs[3]="Modificato lo script per a gestione delle NIUVS. Modificati i colori di background.";

    var 
    mail="
    <span class=\"a\" onclick=\"top.location.href='mailform.htm'\">e-mail</span>
    "
    var DTW1=""DTW2=""DTW3="";
    var 
    NTW1=""NTW2=""NTW3="";
    var 
    t1=""t2=""t3="";
    var 
    i;
    function 
    wNEWS(H) {
      
    H=parseInt(H);
      if (
    H>0) {
         
    DTW1=vDate[vDate.length-1]; NTW1=vNiuvs[vNiuvs.length-1];
         if (
    NTW1.length>H) {
            for (
    i=0;i!=(H-3);i++) {
                
    t1=t1+NTW1.charAt(i);
            }
            
    t1=t1+"...";
            
    NTW1=t1;
          }
          
    DTW2=vDate[vDate.length-2]; NTW2=vNiuvs[vNiuvs.length-2];
          if (
    NTW2.length>H) {
            for (
    i=0;i!=(H-3);i++) {
                
    t2=t2+NTW2.charAt(i);
            }
            
    t2=t2+"...";
            
    NTW2=t2;
          }
          
    DTW3=vDate[vDate.length-3]; NTW3=vNiuvs[vNiuvs.length-3];
          if (
    NTW3.length>H) {
            for (
    i=0;i!=(H-3);i++) {
                
    t3=t3+NTW3.charAt(i);
            }
            
    t3=t3+"...";
            
    NTW3=t3;
          }
      };
      else if (
    H==-1) {
          var 
    tw="";
          
    i=1;
          while (
    i!=vDate[vDate.length-1]) {
            
    tw+="<p class=\"n\">"+vDate[i]+"

    "
    +vNiuvs[i]+"</p>";
            
    i++;
          }
          
    ATW=tw;
      };
    ATW="<p class=\"n\">"+DTW1+"

    "
    +NTW1+"</p><p class=\"n\">"+DTW2+"

    "
    +NTW2+"</p><p class=\"n\">"+DTW3+"

    "
    +NTW3+"</p>";
    document.write(ATW);

    Potreste aiutarmi a capire (o meglio.. potreste dirmi ) perchè mi si inpalla il browser quando H è -1?

    Grazie..

    Un'altra cosa..
    Come posso fare per cercare "e-mail" nelle news e sostituirgli la variabile "mail"?

    Può funzionare questo? (L'ho scritto al volo..)

    Codice PHP:
    if ((t1.indexOf('e-mail'))!=-1) {
      var 
    manca=t1.length-(6+(t1.indexOf('e-mail')));
      var 
    t1secondo="";
      for (
    i=0;i!=(t1.indexOf('e-mail'));i++) {
        
    t1secondo+=t1.charAt(i);
      }
      
    t1secondo+=mail;
      for (
    i=manca;i!=(t1.length);i++) {
        
    t1secondo+=t1.charAt(i);
      }  

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435

  3. #3
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435

  4. #4
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    In anzi tutto scusate per i due commenti "a vuoto"..

    Mi sono poi accorto che la parte dove H è -1 aveva la condizione del ciclo errata.
    Doveva essere:
    Codice PHP:
    [...]
    else if (
    H==-1) {
          var 
    tw="";
          
    i=1;
          while (
    i!= (vDate.length-1) ) {  // QUI ERA L'ERRORE..
            
    tw+="<p class=\"n\">"+vDate[i]+"

    "
    +vNiuvs[i]+"</p>";
            
    i++;
          }
          
    ATW=tw;
      };
    ATW="<p class=\"n\">"+DTW1+"

    "
    +NTW1+"</p><p class=\"n\">"+DTW2+"

    "
    +NTW2+"</p><p class=\"n\">"+DTW3+"

    "
    +NTW3+"</p>";
    document.write(ATW);
    }
    [...] 

  5. #5
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Ecco l'ultima versione dello script.. però non mi sostituisce all'occorrenza di "e-mail" la stringa mail.. :di56: :master:
    Codice PHP:
    var vDate=new Array();
    var 
    vNiuvs=new Array();

    vDate[0]="[b]ERR:[/b] NO <strike>DATE</strike> <u>@</u> THIS POS#!";
    vDate[1]="[b]Dom[/b] 23 Nov 2003";
    vDate[2]="[b]Lun[/b] 24 Nov 2003";
    vDate[3]="[b]Mar[/b] 25 Nov 2003";
    vDate[4]="[b]Mar[/b] 25 Nov 2003 bis";

    vNiuvs[0]="[b]ERR:[/b] NO <strike>NEWS</strike> <u>@</u> THIS POS#!";
    vNiuvs[1]="Inizio la stesura dello script per la gestione delle NIUVS.";
    vNiuvs[2]="Aggiunto orologio in JS sulla sinistra (sotto il men&ugrave; ). (IFF (00:00:00) e-mail ELSE BREAK; ).";
    vNiuvs[3]="Modificato lo script per a gestione delle NIUVS. Modificati i colori di background.";
    vNiuvs[4]="Prova e-mail mail indirizzo e-mail";

    var 
    mail="
    <span class=\"a\" onclick=\"top.location.href='mailform.htm'\">e-mail</span>
    "
    var DTW1=""DTW2=""DTW3="";
    var 
    NTW1=""NTW2=""NTW3="";
    var 
    t1=""t2=""t3="";
    var 
    i;

    function 
    wNEWS(H) {
      
    H=parseInt(H);
      if (
    H>0) {
         
    DTW1=vDate[vDate.length-1]; NTW1=vNiuvs[vNiuvs.length-1];
         if (
    NTW1.length>H) {
            for (
    i=0;i!=(H-3);i++) {
                
    t1=t1+NTW1.charAt(i);
            }
            
    t1=t1+"...";
            if ((
    t1.search(/e-mail/))!=-1) {
              
    t1.replace('e-mail',mail);
            }
            
    NTW1=t1;
          }
          
    DTW2=vDate[vDate.length-2]; NTW2=vNiuvs[vNiuvs.length-2];
          if (
    NTW2.length>H) {
            for (
    i=0;i!=(H-3);i++) {
                
    t2=t2+NTW2.charAt(i);
            }
            
    t2=t2+"...";
            if ((
    t2.search('e-mail'))!=-1) {
              
    t2.replace('e-mail',mail);
            }
            
    NTW2=t2;
          }
          
    DTW3=vDate[vDate.length-3]; NTW3=vNiuvs[vNiuvs.length-3];
          if (
    NTW3.length>H) {
            for (
    i=0;i!=(H-3);i++) {
                
    t3=t3+NTW3.charAt(i);
            }
            
    t3=t3+"...";
            if ((
    t3.search('e-mail'))!=-1) {
              
    t3.replace('e-mail',mail);
            }
            
    NTW3=t3;
          }
      };
      else if (
    H==-1) {
          var 
    tw="";
          
    i=1;
          for (
    i=1;i!=(vNiuvs.length-1);i++) {
          if ((
    vNiuvs[i].search('e-mail'))!=-1) {
            
    vNiuvs[i].replace('e-mail',mail);
          }
            
    tw+="<p class=\"n\">"+vDate[i]+"

    "
    +vNiuvs[i]+"</p>";
          }
          
    ATW=tw;
      };
      else 
    alert(H);
    ATW="<p class=\"n\">"+DTW1+"

    "
    +NTW1+"</p><p class=\"n\">"+DTW2+"

    "
    +NTW2+"</p><p class=\"n\">"+DTW3+"

    "
    +NTW3+"</p>";


  6. #6
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435

    UP

    »__-UP-__«
    »___-|-___«
    »___-|-___«
    »___-|-___«
    »___-|-___«
    »_DOWN_«

  7. #7
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    »__-UP-__«
    »___-|-___«
    »___-|-___«
    »___-|-___«
    »___-|-___«
    »_DOWN_«

  8. #8
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Codice PHP:
    var vDate=new Array();
    var 
    vNiuvs=new Array();

    vDate[0]="[b]ERR:[/b] NO <strike>DATE</strike> <u>@</u> THIS POS#!";
    vDate[1]="[b]Dom[/b] 23 Nov 2003";
    vDate[2]="[b]Lun[/b] 24 Nov 2003";
    vDate[3]="[b]Mar[/b] 25 Nov 2003";
    vDate[4]="[b]Mer[/b] 26 Nov 2003";

    vNiuvs[0]="[b]ERR:[/b] NO <strike>NEWS</strike> <u>@</u> THIS POS#!";
    vNiuvs[1]="Inizio la stesura dello script per la gestione delle NIUVS.";
    vNiuvs[2]="Aggiunto orologio in JS sulla sinistra (sotto il men&ugrave; ). (IFF (00:00:00) e-mail ELSE BREAK; ).";
    vNiuvs[3]="Modificato lo script per a gestione delle NIUVS. Modificati i colori di background.";
    vNiuvs[4]="Revisionato lo script nella pagina dei links e lo script per le news.";

    var 
    mail="
    <span class=\"a\" onclick=\"top.location.href='mailform.htm'\">e-mail</span>
    "
    var DTW=new Array();
    var 
    NTW=new Array();
    var 
    t=new Array();
    var 
    i,j;

    function 
    wNEWS(H,n) {
      
    H=parseInt(H);
      
    n=parseInt(n);
      if (
    H>0) {
          for (
    i=1;i<=n;i++) {
            
    DTW[i]=vDate[vDate.length-i]; NTW[i]=vNiuvs[vNiuvs.length-i];
            if (
    NTW[i].length>H) {
               for (
    j=0;j!=(H-3);j++) {
                   
    t[i]=+NTW[i].charAt(j);
               }
                 
    alert(t[i].search('e-mail'));
               if ((
    t[i].search('e-mail'))!=-1) {
                 
    alert(t[i].search('e-mail'));
               }
               
    NTW[i]=t[i];
            }
            
    ATW+="<p class=\"n\">"+DTW[i]+"

    "
    +NTW[i]+"</p>";
          }
      }
      else if (
    H==-1) {
          var 
    tw="";
          for (
    i=vNiuvs.length-1;i>=1;i--) {
          if ((
    vNiuvs[i].search('e-mail'))!=-1) {
            
    vNiuvs[i].replace('e-mail',mail);
          }
            
    tw+="<p class=\"n\">"+vDate[i]+"

    "
    +vNiuvs[i]+"</p>";
          }
          
    ATW=tw;
      };

    document.write(ATW);

    Questo è il codice strigliato..
    Mi da un'errore -non ho capito dove- del tipo proprietà o metodo non supportati dall'oggetto..
    -.-
    Inoltre non sostituisce all'occorrenza di "e-mail"..
    PS: non conosco RegExp.. ho messo search e replace leggendo in fretta una pillola.. ^_^
    Grazie..

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il codice e` unpo' complesso, ma questo loop:
    for (i=0;i!=(H-3);i++) {
    t2=t2+NTW2.charAt(i);
    }

    potrebbe non uscire mai, se H e` minore di 3.

    Vedi se puoi sostituire con:
    for (i=0;i<(H-3);i++) {

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

  10. #10
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Codice PHP:
    var vDate=new Array();
    var 
    vNiuvs=new Array();

    vDate[0]="[b]ERR:[/b] NO <strike>DATE</strike> <u>@</u> THIS POS#!";
    vDate[1]="[b]Dom[/b] 23 Nov 2003";
    vDate[2]="[b]Lun[/b] 24 Nov 2003";
    vDate[3]="[b]Mar[/b] 25 Nov 2003";
    vDate[4]="[b]Mer[/b] 26 Nov 2003";
    vDate[5]="[b]Gio[/b] 27 Nov 2003";

    vNiuvs[0]="[b]ERR:[/b] NO <strike>NEWS</strike> <u>@</u> THIS POS#!";
    vNiuvs[1]="Inizio la stesura dello script per la gestione delle NIUVS.";
    vNiuvs[2]="Aggiunto orologio in JS sulla sinistra (sotto il men&ugrave; ). (IFF (00:00:00) e-mail ELSE BREAK; ).";
    vNiuvs[3]="Modificato lo script per a gestione delle NIUVS. Modificati i colori di background.";
    vNiuvs[4]="Revisionato lo script nella pagina dei links e lo script per le news.";
    vNiuvs[5]="Corretto definitivamente lo script per il rollover nella pagina dei links.. grazie a Mich_ su html.it per le dritte (mi ha praticamente fatto il codice)..";

    var 
    mail="
    <span class=\"a\" onclick=\"top.location.href='mailform.htm'\">e-mail</span>
    "
    var html="
    <span class=\"a\" onclick=\"openwin([url]http://www.html.it/[/url])\">html.it</span>
    "
    var DTW=new Array();
    var 
    NTW=new Array();
    var 
    t=new Array();
    var 
    i,j;

    function 
    check(wherewhatrepwith) {
      
    where=where.replace(whatrepwith);
      return 
    where;
    }

    function 
    wNEWS(H,n) {
      
    H=parseInt(H);
      
    n=parseInt(n);
      if (
    H>0) {
          for (
    i=1;i<=n;i++) {
            
    DTW[i]=vDate[vDate.length-i]; NTW[i]=vNiuvs[vNiuvs.length-i];
            if (
    NTW[i].length>H) {
               for (
    j=0;j<(H-3);j++) {
                   
    t[i]=+NTW[i].charAt(j);
               }
               
    alert(t[i].search('e-mail'));
               
    t[i]=check(t[i], 'e-mail'mail);
               
    t[i]=check(vNiuvs[i], 'html.it'html);
               
    NTW[i]=t[i];
            }
            
    ATW+="<p class=\"n\">"+DTW[i]+"

    "
    +NTW[i]+"</p>";
          }
      }
      else if (
    H==-1) {
          var 
    tw="";
          for (
    i=vNiuvs.length-1;i>=1;i--) {
            
    vNiuvs[i]=check(vNiuvs[i], 'e-mail'mail);
            
    vNiuvs[i]=check(vNiuvs[i], 'html.it'html);
            
    tw+="<p class=\"n\">"+vDate[i]+"

    "
    +vNiuvs[i]+"</p>";
          }
          
    ATW=tw;
      };

    document.write(ATW);

    Ora funziona.. il problema è che non assegnavo il risultato del replace a nulla..
    Ora ho anche sradicato il replace in modo da essere disponibile dappertutto.. ^_^
    Grazie a tutti per le dritte..

    L'unica cosa.. mi dice che mi manca una parentesi.. ma non ho capito dove..

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.