text verschwinden und auftauchen lassen
-
Hallo!!!
Bin gerade dabei mich nach längerer Zeit wieder mit der Webprogrammierung zu befassen und habe schon ein erstes Problem.
Möchte das an einen bestimmten Ort ein text steht und dieser in einem Interval erscheint bzw verschwindet.
Habe schon viel probiert aber habs noch nicht hinbekommen.
hier mal der code:<html> <head><title>Test</title> <script language="JScript" type="text/jscript"> window.setInterval("Wechsel()", 2500); function Wechsel () { z=1; if(z==1){ document.all.MeinText1.filters.revealTrans.Apply(); document.all.MeinText1.innerText = "fronz"; document.all.MeinText1.filters.revealTrans.Play(); z=2; } if(z==2){ document.all.MeinText1.filters.revealTrans.Apply(); document.all.MeinText1.innerText = " "; document.all.MeinText1.filters.revealTrans.Play(); z=1; } } </script> </head> <body> <div id="MeinText1" style="width:14em; height:150px; font-size:2em; filter:revealTrans(Duration=1,Transition=7)"></div> </body> </html>
Hoffe ihr habt einen Lösungsvorschlag für mich
mfg
-
Du solltest z nicht innerhalb der Funktion initialisieren...
-
funktionert aber trotzdem nicht
-
franz-21 schrieb:
funktionert aber trotzdem nicht
Probier mal:
<body onload="Wechsel()">
und füge mal die Zeile
window.setInterval("Wechsel()", 2500);
in die Funktion.
////
Halt ich seh grad was.
Das ganze heißt JavaScript!//// Wobei... habe deinen Code nun so wie er ist getestet. Also der InternetExplorer zumindest führt ihn Problemlos aus.
-
ja, machen tut er schon was, aber nicht das was ich möchte. verschwinden tut der text ja einwandfrei aber auftauchen tut er ohne den filter und deshalb ist er sofort zu sehen, möchte aber das es wie beim verschwinden aussieht
mfg
-
Logisch tut sich da nichts, weil du den Text sofort, nachdem er gesetzt worden ist, wieder verschwinden laesst.
Probier' mal folgendes:
<script language="javascript"> <!-- var b=true; function set_text(id,txt) { document.getElementById(id).innerText=txt; } function blink_text(id,txt,delay) { if(b) set_text(id," "); else set_text(id,txt); b=!b; setTimeout("blink_text('"+id+"','"+txt+"',"+delay+")",delay); } //--> </script>
und
<body onLoad="blink_text('mytxt','Test',500)"> <div id="mytxt">Test</div> </body>
E: Laeuft nur unter IE. Unter Firefox passiert nichts.
-
Es lag an der Eigenschaft
innerText
, welche Firefox nicht zu kennen scheint.innerHTML
Funktioniert allerdings einwandfrei:<html> <head> <script language="javascript"> <!-- var b=true; function set_text(id,txt) { document.getElementById(id).innerHTML=txt; } function blink_text(id,txt,delay) { if(b) set_text(id," "); else set_text(id,txt); b=!b; setTimeout("blink_text('"+id+"','"+txt+"',"+delay+")",delay); } //--> </script> </head> <body onLoad="blink_text('mytxt','Test',500)"> <div id="mytxt">Test</div> </body> </html>
-
Du kannst auch versuchen z als "Objekteigenschaft" der Funktion zu deklarieren.
function wechsel() { wechsel.z = 1; if ( wechsel.z == 1) [...] else if ( wechsel.z == 2) [...] }
Ich meine in JavaScript müsste das gehen. Quasi als Ersatz zu statischen Variablen.
-
Etwas optimierter:
<html> <head> <script language="javascript"> <!-- var b=false; function set_text(id,txt) { if(b=!b) document.getElementById(id).innerHTML=" "; else document.getElementById(id).innerHTML=txt; } function blink_text(id,txt,delay) { setInterval("set_text('"+id+"','"+txt+"')",delay); } //--> </script> </head> <body onLoad="blink_text('mytxt','Test',500)"> <div id="mytxt">Test</div> </body> </html>