[javascript]enter parsen in string

Pagina: 1
Acties:

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik heb een javascript code omgebouwd, voor het maken van een 'typewriter'-effect.
Ik wil nu iets inbouwen dat wanneer je in de invoertekst een bepaald teken gebruikt (bijvoorbeeld: *D, dat er dan een <br> in de html van de layer komt, zodat de rest van de tekst op een nieuwe regel komt.

Ik heb al iets geprobeerd in de 'spellit'-functie, maar dat werkt niet.
Wie helpt me?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<div id='anima' style="position:absolute;font-family:Verdana;font-size:10;background-color:white;; left: 323px; top: 134px; width: 235px; height: 300px"> 
</div>

text = "Dit is de invoertekst * dit moet op de volgende regel"

word = text.split(' ')
i = 0;      
j = 0;      


function spellit(string) 
    {
    with(document.all.anima) 
       {
         if(i <= string.length) 
          {
            
            if(i <= string.length - 1) 
            {
              i++;
              if(string.substring(i-1,i)=="*")
                 {
                 innerText = string.substring(0,i-1) + "<br>";
                 }
                 else
                  {
                 innerText = string.substring(0,i);
                 }
               
              mistake = 'spellit("' + string + '")';
              setTimeout("eval(mistake)", 50);
            }
            else 
            {
              innerText = string.substring(0, i);
              j++;
              call_It();
            }
           }
      }
    }


function call_It() 
    {
     with(document.all) 
       {
                

         if(j <= word.length - 1) 
           {
                         
              spellit(anima.innerText + " " + word[j]);
            
           } 
            
        }
     }

if(document.all) 
   {
     call_It();
   }

Ik blijf er iig vrij nuchter onder....


Verwijderd

Regular Expressions misschien? Hier een simpele:
code:
1
blaat = blaat.replace(/;/, '<br>',);

meer hierover

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 09:53

RM-rf

1 2 3 4 5 7 6 8 9

ipv innerText dien je innerHTML te gebruiken als je html-tags wilt toepassen.

verder lijkt het me dat je beter op het bestaan van de innerHTML-propertie kunt testen dan enkel op document.all
definieer je functie dan met een check tussen document.all (msie4+ en Opera) en document.getElementById() (mozilla msie5+ en Opera):
code:
1
2
3
4
5
Anima = (document.getElementById) ? document.getElementById('Anima'):document.all['Anima']
with (Anima)
{
  // blaat
}

nu levert je code een foutmelding op met Opera 5 (geen innerHTML, wel document.all) en doet je code het niet in mozilla en Opera 6 (wel innerHTML-ondersteuning)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen