ein Button start/stop

derschotte

Grünschnabel
Hallole,
aufgabe soll sein, das beim ersten Klick auf einen Button zufall() gestartet und die Beschriftung des Buttons auf "spass_off" geändert wird. Hierbei soll ein Bild zufällig positioniert werden
Dies soll solange geschehen, bis der Button erneut gdrückt wird. Hier soll dann das Bild links oben neu positioniert und die Beschriftung wieder auf "spass_on" geändert werden.
Beim erneuten drücken des Buttons geht das Spielchen wieder von vorne los.

Das was die Theorie :(

Leider funktioniert das ganze nicht. Starten lässt sich das ganze, allerdings nicht mehr stoppen :(

Code:
  var taste =1;
  function on_off ()
  {
  	if (taste==1)
  	{
  		document.a_myform.b_spass.value="spass_off";
  		taste=0;
  		return 0;
  	}
  	else
  	{
  		   document.a_myform.b_spass.value="spass_on";
  		taste=1;
  		gruen.style.left=0;
  		gruen.style.top=0;
  		return 1;
  	}
  }
  
  function zufall ()
  {
  	gruen.style.left=(Math.random()*400);
  	gruen.style.top=(Math.random()*400);
  
  	if (taste==1)
  		setTimeout("zufall();", 100);
  }
 
Hi,

du musst den Timeout wieder stoppen (clearTimeout ).

Ungetestet:
Code:
  var taste =1;
  var hTimer;
  function on_off ()
  {
  	if (taste==1)
  	{
  		document.a_myform.b_spass.value="spass_off";
  		taste=0;
  		return 0;
  	}
  	else
  	{
  		   document.a_myform.b_spass.value="spass_on";
  		taste=1;
  		gruen.style.left=0;
  		gruen.style.top=0;
  		window.clearTimeout(hTimer);
  		return 1;
  	}
  }
  
  function zufall ()
  {
  	gruen.style.left=(Math.random()*400);
  	gruen.style.top=(Math.random()*400);
  
  	if (taste==1)
  		hTimer = setTimeout("zufall();", 100);
  }
Wie angedeutet, habe ich es nicht getestet - so in der Art sollte es jedoch funktionieren.

Ciao
Quaese
 
sodele, habs so gelöst :)

Code:
 var taste = false;
 function spass_on_off()
 {
 	if (taste == true)
 	{
 		document.a_myform.b_spass.value="spass_on";
 		taste = false;
 	}
 	else
 	{
 		   document.a_myform.b_spass.value="spass_off";
 		taste = true;
 		zufall();
 	}
 }
 
 function zufall ()
 {
 	gruen.style.left=(Math.random()*400);
 	gruen.style.top=(Math.random()*400);
 
 	if (taste == true)
 		setTimeout("zufall();", 100);
 	else
 	{
 		gruen.style.left=0;
 		gruen.style.top=0;
 	}
 }
 

Neue Beiträge

Zurück