Problem mit dem Script *Text in HTML*
HanSi
- javascript
!! Vorab: Hab gestern schon diese Frage gestellt nur blieb sie in der Luft steh'n und vielleicht weis ein jemand eine Lösung, wäre ganz gut.
Oben steht die Adresse vom ist oben Thread.
Hi zusammen ;)
Ich habe da ein kleines Problem mit einem JavaScript und zwar soll dieses Script folgendes machen: Ein Text wird auf der Seite ausgeben z.B. 'Deine HanSi Seite'.
Das Script bewirkt, dass das 'D' von -Deine- angestossen wird und die anderen Buchstaben dabei eine art Welle erzeugen.
So weit funktioniert dies auch nur hab ich das Gefühl, dass dieses Script den Speicher voll macht *benutzt SDRAM :(* innerhalb von 5 Min. ist der Speicher von 300 MB frei auf 36 MB geschrumpft. Irgendwie komisch, oder ¿
Hier das Script:
<SCRIPT language=JavaScript1.2>
message="Deine HanSi Seite"
ns6switch=1
var ns6=document.getElementById&&!document.all
mes=new Array();
mes[0]=-1;
mes[1]=-4;
mes[2]=-7;
mes[3]=-10;
mes[4]=-7;
mes[5]=-4;
mes[6]=-1;
num=0;
num2=0;
txt="";
function jump0(){
if (ns6&&!ns6switch){
jump.innerHTML=message
return
}
if(message.length > 6){
for(i=0; i != message.length;i++){
txt=txt+"<span style='position:relative;' id='n"+i+"'>"+message.charAt(i)+"</span>"};
jump.innerHTML=txt;
txt="";
jump1a()
}
else{
write("<p>Fehler</p>");
}
}
function jump1a(){
nfinal=(document.getElementById)? document.getElementById("n0") : document.all.n0
nfinal.style.left=-num2;
if(num2 != 9){
num2=num2+3;
setTimeout("jump1a()",50)
}
else{
jump1b()
}
}
function jump1b(){
nfinal.style.left=-num2;
if(num2 != 0){num2=num2-3;
setTimeout("jump1b()",50)
}
else{
jump2()
}
}
function jump2(){
txt="";
for(i=0;i != message.length;i++){
if(i+num > -1 && i+num < 7){
txt=txt+"<span style='position:relative;top:"+mes[i+num]+"'>"+message.charAt(i)+"</span>"
}
else{txt=txt+"<span>"+message.charAt(i)+"</span>"}
}
jump.innerHTML=txt;
txt="";
if(num != (-message.length)){
num--;
setTimeout("jump2()",50)}
else{num=0;
setTimeout("jump0()",50)}}
</SCRIPT>
<center><DIV id=jumpx style="FONT-WEIGHT: bold; COLOR: #336699; FONT-FAMILY: Arial"></DIV></center>
<SCRIPT>
if (document.all||document.getElementById){
jump=(document.getElementById)? document.getElementById("jumpx") : document.all.jumpx
jump0()
}
else
document.write(message)
</SCRIPT>
Ende
Weis da jemand eine Lösung zum Script oder eine andere Möglichkeit, wo man den gleiche Effekt hat¿¿
Bin für jede Antwort Dankbar.
Gruß HanSi
setTimeout("jump1a()",50)
Ich bin nicht sicher, aber du solltest den timeout erst dann setzten, wenn die Funktion beendet ist, sonst kann es dir passieren, das die Funktion noch nicht feritg ist, sich sleber wieder aufruft, aber nicht fertig wird .... usw.
50ms könne verdammt kurz sein, um komplizierte dHTML Sachen zu machen.
Struppi.
Danke für deine Antwort!!
setTimeout("jump1a()",50)
Ich bin nicht sicher, aber du solltest den timeout erst dann setzten, wenn die Funktion beendet ist, sonst kann es dir passieren, das die Funktion noch nicht feritg ist, sich sleber wieder aufruft, aber nicht fertig wird .... usw.
50ms könne verdammt kurz sein, um komplizierte dHTML Sachen zu machen.
Struppi.
Das mit den 50ms war wohl das kleine Problem, hab's jetzt auf 120ms gesetzt. Der Speicher beleibt normal und der Effekt sieht auch noch so aus wie er sein sollte, danke nochmals.
Gruß HanSi