Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    testo animato in js: richiamare l'effetto in uno specifico elemento contenitore

    Saluti a tutti...

    chi ha cinque minuti mi può dare una mano?

    è una caxxata, ma la fissa per js mi fa fare dei casini assurdi e mi perdo in un bicchiere d'acqua... è dalle nove che faccio modifiche+F5... VVoVe:

    Per farla breve,
    ho preso (non mi ricordo più da dove) uno dei mille js che generano testo a comparsa e l'ho modificato per ottenere una serie di frasi all'interno di una textarea...

    Credo di aver sporcato il codice... comunque funziona abbastanza a modo...

    Quello che non riesco a fare
    è far comparire la textarea dove mi pare nel flusso di elementi della mia pagina...

    Ecco il js:

    codice:
    <script language="JavaScript">
    
    var code = '';
    code += '<form name="txt">';
    code += '<textarea class="scrivi" type="textarea" name="msg" value=""></textarea>';
    code += '</form>';
    document.write(code);
    
    var listafrasi = new Array();
    var i = 0;
    listafrasi[i++] = "prima frase";
    listafrasi[i++] = "seconda frase";
    listafrasi[i++] = "terza frase";
    listafrasi[i++] = "quarta frase";
    var attesa = 150;
    
    
    for (i=0;i<listafrasi.length;i++)
      listafrasi[i] += "     ";
    var c = 0;
    var s = "";
    function scrivitesto() {
      s = listafrasi[c].substring(0,s.length+1);
      document.txt.msg.value=s;
      if (s.length==listafrasi[c].length) {
        cancella();
        return;
      }
      var id = setTimeout("scrivitesto()",attesa);
    }
    function cancella() {
      s = s.substring(0,s.length-1);
      document.txt.msg.value = s;
      if (s.length==0) {
        c++;
        if (c==listafrasi.length) c = 0;
        s = "";
        scrivitesto();
        return;
      }
      var id = setTimeout("cancella()",10);
    }
    scrivitesto();
    </script>
    Per ottenere l'effetto dove mi pare nella pagina,
    ho tentato decine di strade (chi conosce js sa che questa cosa si può fare in diversi modi)... ma con la mia poca competenza in js ottengo sempre errori... sono in grado solamente di classare la textarea e posizionarmela via css in assoluto...

    Io avrei invece voluto:
    intanto linkare il js esterno... e poi applicare l'effetto ad un determinato elemento individuato via ID

    una cosa del tipo:

    in head <script type="text/javascript" src="miojs.js"></script>

    nel body <textarea id="messaggi"></textarea> oppure <div id="messaggi"></div>

    poi onload o altrimenti, richiamarmi la funzione...

    chi mi può dare una dritta? magari con due righe di commento/descrizione delle operazioni eseguite...

    Ringrazio e saluto comunque tutti,
    buonanotte... o buonagiornata (a seconda dell'ora in cui leggete)
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  2. #2
    vabbé non mi ha risposto nessuno...

    sicuramente non perché la domanda era troppo difficile...
    semmai (lo so), perché era troppo da principianti...

    pazienza...

    Comunque non mi sono arreso... né sono stato con le mani in mano attendendo che altri mi postasse pari pari la soluzione...
    ho continuato a smanettare e sbirciare forum e altre risorse (la guida a js!!!!)...

    Ecco la soluzione alla mia domanda...
    (naturalmente se ci fossero metodi migliori e me li volete indicare... bene vengano... )

    ho semplicemente richiamato un js esterno all'interno del contenitore in cui voglio l'effetto:

    <script type="text/javascript" src="mioscript.js">
    <!--
    //-->
    </script>


    Naturalmente il file mioscript.js è quello postato nel messaggio precedente...
    Quindi non ho più tutto il codice js nell'head della mia pagina...
    Tutto qua... e ci voleva tanto??!!! per me sì...

    Lo so è una caxxatina... comunque posto il codice completo di un esempio...
    Magari qualcuno alle prime armi come me incappa in questa discussione e vuole utilizzare lo scriptino...

    Ciao a tutti...

    Codice della pagina, salvarlo come nome.html
    codice:
    <html>
    <head>
    <style type="text/css">
    .mybox {
    background: #ff0000;
    }
    </style>
    </head> 
    <body>
    
    <div class="mybox">
    <script type="text/javascript" src="mioscript.js">
    <!-- 
    //-->
    </script>
    </div>
    
    </body>
    </html>
    Codice del javascipt, salvarlo come mioscript.js
    codice:
    var code = '';
    code += '<form name="txt">';
    code += '<textarea class="scrivi" type="textarea" name="msg" value=""></textarea>';
    code += '</form>';
    document.write(code);
    
    var listafrasi = new Array();
    var i = 0;
    listafrasi[i++] = "prima frase";
    listafrasi[i++] = "seconda frase";
    listafrasi[i++] = "terza frase";
    listafrasi[i++] = "quarta frase";
    var attesa = 150;
    
    
    for (i=0;i<listafrasi.length;i++)
      listafrasi[i] += "     ";
    var c = 0;
    var s = "";
    function scrivitesto() {
      s = listafrasi[c].substring(0,s.length+1);
      document.txt.msg.value=s;
      if (s.length==listafrasi[c].length) {
        cancella();
        return;
      }
      var id = setTimeout("scrivitesto()",attesa);
    }
    function cancella() {
      s = s.substring(0,s.length-1);
      document.txt.msg.value = s;
      if (s.length==0) {
        c++;
        if (c==listafrasi.length) c = 0;
        s = "";
        scrivitesto();
        return;
      }
      var id = setTimeout("cancella()",10);
    }
    scrivitesto();
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

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.