Javascript ist eine zähe Nuss(?): Reload statt Bewegung

Acriss

Gesperrt
Hi nochmal,

ich weiss, sind mehr Threads geworden,
aber ich komme nicht hinter meinen Fehler.

Ich poste einfach mal das ganze Script, denn laut IE liegt der Fehler in Zeile 1

HTML:
<html>
	<head>
         	<title>Motorrad</title>
         </head>
<body>
<script type="text/javascript">
function move(richtung)
	{
         switch(richtung)
         	{
                 case 'links':
                 if (document.getElementById('Motorrad').style.left == '500px')
         		{
                         document.getElementById('Motorrad').style.left = '400px';
                         }
	        if (document.getElementById('Motorrad').style.left == '600px')
         		{
                         document.getElementById('Motorrad').style.left = '500px';
                         }
                 break;
                 case 'rechts':
                 if (document.getElementById('Motorrad').style.left == '500px')
         		{
                         document.getElementById('Motorrad').style.left = '600px';
                         }
	        if (document.getElementById('Motorrad').style.left == '400px')
         		{
                         document.getElementById('Motorrad').style.left = '500px';
                         }
                 break;
                 }
         }
function Hindernis()
	{
         document.getElementById('Fass').style.display= 'block';
         ort = Math.round(Math.random()*3+1);
         document.write(ort);
         switch(ort)
         	{
                 case 1:
                 function links()
                 	{
	                if(document.getElementById('Fass').style.top < '400px')
                         	{
	                        document.getElementById('Fass').style.top += '10px';
         	                setTimeout("links()",50);
                                 }
                         if(document.getElementById('Fass').style.top >= '400px')
                         	{
                                 document.getElementById('Fass').style.display = 'none';
                                 document.getElementById('Fass').style.top = '10px';
                                 }
                         }
                 break;
                 case 2:
                 function mitte()
                 	{
	                if(document.getElementById('Fass').style.top < '400px')
                         	{
	                        document.getElementById('Fass').style.top += '10px';
         	                setTimeout("mitte()",50);
                                 }
                         if(document.getElementById('Fass').style.top >= '400px')
                         	{
                                 document.getElementById('Fass').style.display = 'none';
                                 document.getElementById('Fass').style.top = '10px';
                                 }
                         }
                 break;
                 case 3:
                 function rechts()
                 	{
	                if(document.getElementById('Fass').style.top < '400px')
                         	{
	                        document.getElementById('Fass').style.top += '10px';
         	                setTimeout("rechts()",50);
                                 }
                         if(document.getElementById('Fass').style.top >= '400px')
                         	{
                                 document.getElementById('Fass').style.display = 'none';
                                 document.getElementById('Fass').style.top = '10px';
                                 }
                         }
                 default:
                 function mitte()
                 	{
	                if(document.getElementById('Fass').style.top < '400px')
                         	{
	                        document.getElementById('Fass').style.top += '10px';
         	                setTimeout("mitte()",50);
                                 }
                         if(document.getElementById('Fass').style.top >= '400px')
                         	{
                                 document.getElementById('Fass').style.display = 'none';
                                 document.getElementById('Fass').style.top = '10px';
                                 }
                         }
                 }
         setTimeout("Hindernis()", 3000);
         }

/*
Ende der Funktionen
*/

</script>
<div id="strasse" style="position:absolute;top:0px;left:300px;width:400px;height:671px;background-color:grey;"></div>
<div id="Fass" style="position:absolute;top:10px;display:none;">F<br />A<br />S<br />S</div>
<div id="Motorrad" style="position:absolute;top:300px;left:500px;">M<br />O<br />T<br />O<br />R<br />R<br />A<br />D</div>
<br />
<div style="position:absolute;top:600px;left:400px">
<input type="button" name="links" value="&lt;-" onclick="move('links');" />
<input type="button" name="links" value="-&gt;" onclick="move('rechts');" />
</div>
<script type="text/javascript">
Hindernis();
</script>
</body>
</html>

mfg
und vielen Dank für jegliche Hilfe :)
 
Du solltest auf jedenfall noch ein return false; einbauen das HTML nicht die Seiten wechselt:

HTML:
<input type="button" name="links" value="&lt;-" onclick="move('links'); return false;" />
<input type="button" name="links" value="-&gt;" onclick="move('rechts'); return false;" />
 
Ah
das hiess harte Nuss xD

Ich habe noch ein paar mehr returns eingebaut - @Michael: html hat vorher auch nicht die seiten gewechselt, es muss an der Funktion Hindernis liegen -
der CodeIch poste den jetzt mal mit php Klammern


Der Reload ist weg.
 
Zuletzt bearbeitet:
?ch habe jetzt ein <body onLoad="Hindernis();">
eingefügt, und den alten Funktionsaufruf gelöscht,
nun kommt das Script i bis zur Ausgabe von ort.
 

Neue Beiträge

Zurück