Autor Zpráva
Jaroslav K.
Profil *
Ahoj.
Mám dotaz ohledně vypisování textu písmeno po písmenu... Nevíte jak by to šlo přes javascript udělat?
Předem díky za rady...
Witiko
Profil
Jaroslav K.:
Já nevím, třeba takto:
var text = "Lorem ipsum",
    length = text.length,
    index = 0,
    rychlost = 500, // 1 písmeno za 500ms
    interval = setInterval(function() {
      funkce(text.charAt(index++)); // Novátoři mohou zkusit ECMA5 Array-like zápis text[index++]
      if(index === length) clearInterval(interval);
    }, rychlost);

No a na místo funkce funkce si dopiš něco, co bude písmena vypisovat. Např.:
function funkce(pismeno) {
  textarea.value += pismeno; // V proměnné textarea uvažujme referenci na DOM element
}
Jaroslav K.
Profil *
hm, já na skripty moc nejsem... :) Nešel by poslat nějaký funkční příklad? Díky :)
Witiko
Profil
Jaroslav K.:
To, co jsem poslal, je funkční příklad, stačí si jen doplnit pár základních věcí. ;)
<textarea></textarea>
<script>
var textarea = document.getElementsByTagName("textarea")[0],
    text = "Jsem cool text, který jede po písmenkách!",
    length = text.length,
    index = 0,
    rychlost = 200, // 1 písmeno za 200ms
    interval = setInterval(function() {
      funkce(text.charAt(index++)); // Novátoři mohou zkusit ECMA5 Array-like zápis text[index++]
      if(index === length) clearInterval(interval);
    }, rychlost);

function funkce(pismeno) {
  textarea.value += pismeno; // V proměnné textarea uvažujme referenci na DOM element
};
</script>

http://jsfiddle.net/XfgdN/
Jaroslav K.
Profil *
Tak jsem to za pomoci kamaráda vyřešil. Takto

<html>
 <head>
 <style type="text/css">
   #vypis {text-align: center; }     
 </style>
 </head>
 <body> 
   <font color="blue" face="Space Bd BT" size="10">
    <div id="vypis">
     <script>
      var text="System is starting...Core loaded!"; 
      var delka=text.length;
      var pocet=0;              
      var interval=100;
      function funkce() {
      document.getElementById('vypis').innerHTML=document.getElementById('vypis').innerHTML+text[pocet]
      pocet+=1; 
      if (pocet<delka) {
      var t=setTimeout("funkce()",interval);
      }
      }
      var t=setTimeout("funkce()",interval); 
    </script>
   </div>
  </font>
 </body>
</html>


Teď ale mám problém s fontem Arista 2.0. Web prostě odmítá,i přes to že je v pc, ho použít. Prostě to vypíše standartnim fontem... Jak lze toto vyresit?
Jaroslav K.
Profil *
Hm, jdu se registrovat :)

Jinak, ten font jsem zjistil ze funguje ve Firefoxu ale v Chrome ne. To je ale pro mne problem...
okolojdouci
Profil *
Jaroslav K.:
Teď ale mám problém s fontem Arista 2.0. Web prostě odmítá,i přes to že je v pc,

Nepoužívej exotické fonty. google: bezpečné webové fonty.
JaroslavK
Profil
Já ho dám nejspíš jako download, stejně ho potřebuju... Nemůžu ho na webu změnit :)

Mimochodem, když mám

var text="System is starting...Core loaded!";


Jak odřádkuju text aby to nevypsalo

System is starting...Core loaded! ale

System is starting...
Core loaded!


Prostě aby to vypisovalo na dva řádky...
__construct
Profil
JaroslavK:
Stačí tam pridať odskok na nový riadok \n:
var text="System is starting...\nCore loaded!";
JaroslavK
Profil
Jo, díky, já nevěděl co tam má být za písmenko :D

Btw. Má nick __construct něco společného s programem Construct? :)

EDIT: Nechce fungovat :)
__construct
Profil
JaroslavK:
Nechce fungovat
Pardón – pozeral som príklad od Witika a on ten text dával do <textarea>. Tebe stačí keď si do štýlopisu pridáš #vypis{ … white-space:pre-line }

Má nick __construct něco společného s programem Construct?
Nie.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0