JavaScript 2. Funktion aufrufen, und die 1. beenden

Pelzameise

Sachse
Registriert
Apr. 2008
Beiträge
5.221
Hi,

erstmal der Quelltext:
Code:
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head  scrolling="no">
	<title>Ampelschaltung</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
	
	<link rel="stylesheet" href="format.css" />
	
	<!--[if lte IE 6]>
        <style type="text/css">@import url(format_ie_6.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, das heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. Wir empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den aktuellen Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if IE 7]>
        <style type="text/css">@import url(format_ie_7.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, das heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. Wir empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den aktuellen Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if gte IE 8]>
        <style type="text/css">@import url(format_ie_8.css);</style>
    <![endif]-->
	
	
      
	<script language="JavaScript" type="text/javascript">
<!--


function bilder_laden(){  
	links = new Image();
	links.src = "bilder/rot_links.jpg";

	oben = new Image();
	oben.src = "bilder/rot_oben.jpg";

	rechts = new Image();
	rechts.src = "bilder/rot_rechts.jpg";

	unten = new Image();
	unten.src = "bilder/rot_unten.jpg";  
}
  
//-->
</script>





<script language="JavaScript" type="text/javascript">
<!--
var x=19;

function zaehlertag()
{
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  setTimeout("zaehlertag()", 1000);
}

function zaehlernacht()
{
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  setTimeout("zaehlernacht()", 3500);
}

//-->
</script>


</head>
<body onload="bilder_laden();" scrolling="no">

  <div id="bg">
  <img src="bilder/strasse.jpg" width="1" height="1" alt="Bildhintergrund" id="hintergrund" />
  </div>
  <div id="tabelle">
  <table border="0" cellspacing="0" cellpadding="0">
  
 <tr> <!-- Zeile 1 //-->
  <td></td>
  <td></td>
  <td><div id="oben"><img height="50%" style="position: absolute; bottom: 2em; left: 2.5em;" name="oben" src="bilder/rot_oben.jpg"></div></td>
  <td></td>
  <td> <div id="auswahl"> 
	<form>
	<select NAME="list" size="1">
		<option onclick="zaehlertag()" value=""> Tagschaltung </option>
		<option onclick="zaehlernacht()" value=""> Nachtschaltung </option>
		<option onclick="zaehlertag()" value=""> Ausgeschaltet </option>
	</select>
	</form>
  </div> </td>
 </tr>
 
 <tr> <!-- Zeile 2 //-->
  <td></td>
  <td></td>
  <td></td>
  <td><div id="rechts"><img style="position: absolute; bottom: 1em; right: 0em;" name="rechts" src="bilder/rot_rechts.jpg"></div></td> <!--  style="position:absolute; bottom:0px; right:0px" //-->
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 3 //-->
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 4 //-->
  <td></td>
  <td><div id="links"><img style="position: absolute; top: 1em; left: 0;" name="links" src="bilder/rot_links.jpg"></div></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 5 //-->
  <td></td>
  <td></td>
  <td><div id="unten"><img style="position: absolute; top: 2.5em; right: 3em;" align="right" name="unten" src="bilder/rot_unten.jpg"></div></td>
  <td></td>
  <td></td>
 </tr>
</table>
</div>
</body>
</html>

Wie ihr seht, will ich mit dem Auswahlmenü die Funktion zaehlernacht aufrufen. Aber das klappt nciht so richtig.

Wenn ich gleich am Anfang zaehlernacht aufrufe, dann geht es, d.h. die Funktion selbst ist i.O.

ich hab den Verdacht, dass es deshalb nicht geht, weil die Funktion zaehlertag noch läuft. (Hab ich vorher aufgerufen mit Klick auf die erste Auswahlmöglichkeit.)

Deshalb will ich mit dem onclick nicht nur eine Funktion aufrufen, sondern auch die anderen beenden. Geht das?

Ich hänge die komplette Seite nochmal als rar an.
Ergänzung ()

Nochwas: Im IE geht gar nichts. :(
 

Anhänge

Aloha!
Die magische Funktion die du suchst ist clearTimeout().
Du fügst zwei neue globale Variablen hinzu (tagTimer und nachtTimer) und weist beiden jeweils in der entsprechenden Funktion die setTimeout Funktion zu.
In der jeweils gegenteiligen Funktion rufst du dann über die globale Variable die clearTimeout() Funktion auf.

Ich habe deinen Code mal geändert und die Änderungen fett markiert.

Code:
<script language="JavaScript" type="text/javascript">
<!--
var x=19;
[B]var tagTimer;
var nachtTimer;[/B]

function zaehlertag()
{
 [B]window.clearTimeout(nachtTimer);[/B]
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  [B]tagTimer = window.setTimeout("zaehlertag()", 1000);[/B]
}

function zaehlernacht()
{

[B]window.clearTimeout(tagTimer);[/B]

  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  
  [B]nachtTimer = window.setTimeout("zaehlernacht()", 3500);[/B]
}

//-->
</script>

Hoffe ich hab dich auch richtig verstanden, aber so sehe ich zumindest kein Problem mehr. :-) Eventuell musst du natürlich noch deine x Variable jeweils reseten.

//Edith sagt: Warum es im IE gar nicht geht, kann ich dir nicht sagen. Der stinkt aber aus Prinzip eh. ;-) Kann dir dabei auch leider nicht helfen, da ich keinen IE zur Verfügung hab.
 
Zuletzt bearbeitet:
Der IE kommt mit dem onclick-Ereignis nicht zurecht... würde halt bei der Auswahl einfach ein Event auslösen, wenn sich die Wahl geändert hat.

Außerdem versteh ich den Sinn der bilder_laden noch nicht ganz - mit der Funktion (dem Inhalt) hat der IE auch Probleme.

@S3PSiS: Wieso eigentlich verschiedene Timer-Variablen?
Wäre es nicht eleganter, einfach eine zu verwenden?
Weil eigentlich interessiert es zaehlernacht() nicht, welcher Timer vorher aktiv war...
 
Danke, dass du dir die Arbeit gemacht hast. Ist auf jeden Fall ein Fortschritt. Du hast sicher bemerkt, dass da eigentlich noch eine Funktion fehlt, und zwar eine aus-Stellung, wo das Gelb nur blinkt.

Ich hab deinen Tipp mal auf die 3 Funktionen umgesetzt:
Code:
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head  scrolling="no">
	<title>Ampelschaltung</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
	
	<link rel="stylesheet" href="format.css" />
	
	<!--[if lte IE 6]>
        <style type="text/css">@import url(format_ie_6.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, das heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. Wir empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den aktuellen Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if IE 7]>
        <style type="text/css">@import url(format_ie_7.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, das heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. Wir empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den aktuellen Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if gte IE 8]>
        <style type="text/css">@import url(format_ie_8.css);</style>
    <![endif]-->
	
	
      
	<script language="JavaScript" type="text/javascript">
<!--


function bilder_laden(){  
	links = new Image();
	links.src = "bilder/rot_links.jpg";

	oben = new Image();
	oben.src = "bilder/rot_oben.jpg";

	rechts = new Image();
	rechts.src = "bilder/rot_rechts.jpg";

	unten = new Image();
	unten.src = "bilder/rot_unten.jpg";  
}
  
var x=19;
var tagTimer;
var nachtTimer;
var ausTimer;

function zaehlertag()
{
  window.clearTimeout(nachtTimer);
  window.clearTimeout(ausTimer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  tagTimer = window.setTimeout("zaehlertag()", 500);

}

function zaehlernacht()
{
  window.clearTimeout(tagTimer);
  window.clearTimeout(ausTimer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  nachtTimer = window.setTimeout("zaehlernacht()", 1500);

}

function zaehleraus()
{ 
  window.clearTimeout(tagTimer);
  window.clearTimeout(nachtTimer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/aus_links.jpg";}
  if(x==21) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/aus_rechts.jpg";}
  if(x==21) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/aus_oben.jpg";}
  if(x==21) {document.oben.src="bilder/gelb_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/aus_unten.jpg";}
  if(x==21) {document.unten.src="bilder/gelb_unten.jpg";}
  
  if(x==21) {x=19;} 
  ausTimer = window.setTimeout("zaehleraus()", 400);

}

//-->
</script>


</head>
<body onload="bilder_laden();" scrolling="no">

  <div id="bg">
  <img src="bilder/strasse.jpg" width="1" height="1" alt="Bildhintergrund" id="hintergrund" />
  </div>
  <div id="tabelle">
  <table border="0" cellspacing="0" cellpadding="0">
  
 <tr> <!-- Zeile 1 //-->
  <td></td>
  <td></td>
  <td><div id="oben"><img height="50%" style="position: absolute; bottom: 2em; left: 2.5em;" name="oben" src="bilder/rot_oben.jpg"></div></td>
  <td></td>
  <td> <div id="auswahl"> 
	<form>
	<select NAME="list" size="3">
		<option onclick="zaehlertag()"> Tagschaltung </option>
		<option onclick="zaehlernacht()"> Nachtschaltung </option>
		<option onclick="zaehleraus()"> Ausgeschaltet </option>
	</select>
	</form>
  </div> </td>
 </tr>
 
 <tr> <!-- Zeile 2 //-->
  <td></td>
  <td></td>
  <td></td>
  <td><div id="rechts"><img style="position: absolute; bottom: 1em; right: 0em;" name="rechts" src="bilder/rot_rechts.jpg"></div></td> <!--  style="position:absolute; bottom:0px; right:0px" //-->
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 3 //-->
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 4 //-->
  <td></td>
  <td><div id="links"><img style="position: absolute; top: 1em; left: 0;" name="links" src="bilder/rot_links.jpg"></div></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 5 //-->
  <td></td>
  <td></td>
  <td><div id="unten"><img style="position: absolute; top: 2.5em; right: 3em;" align="right" name="unten" src="bilder/rot_unten.jpg"></div></td>
  <td></td>
  <td></td>
 </tr>
</table>
</div>
</body>
</html>

Ich kann zwischen Tag und nacht sooft wechseln, wie ich will. Aber sobald ich ausschalte, bleibt sie für immer aus (und blinkt noch nicht mal).

hab das aktuelle Verzeichnis angehängt.



würde halt bei der Auswahl einfach ein Event auslösen, wenn sich die Wahl geändert hat.
und wie mache ich das?


Die bilder_laden soll halt die Bilder vorladen. Eigentlich brauch ich die nicht unbedingt, hab jedenfalls keinen Unterschied gespürt.
 

Anhänge

Zuletzt bearbeitet:
Code:
window.clearTimeout(nachtTimer);
window.clearTimeout(ausTimer);
aus genau dem Grund nur eine timer-Variable nehmen...

Der Code funktioniert bei mir auch im IE:

Code:
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head  scrolling="no">
	<title>Ampelschaltung</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
	
	<link rel="stylesheet" href="format.css" />
	
	<!--[if lte IE 6]>
        <style type="text/css">@import url(format_ie_6.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, " + 
"das heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. " +
"Wir empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den "+
"aktuellen Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if IE 7]>
        <style type="text/css">@import url(format_ie_7.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, das " +
"heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. Wir " +
"empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den aktuellen " +
"Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if gte IE 8]>
        <style type="text/css">@import url(format_ie_8.css);</style>
    <![endif]-->
	
	
      
	<script language="JavaScript" type="text/javascript">
<!--


function bilder_laden(){  
// Welchen Sinn hatte diese Funktion?
}
  
//-->
</script>





<script language="JavaScript" type="text/javascript">
<!--
var x=19;
var timer;

function zaehlertag()
{
  window.clearTimeout(timer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  timer = window.setTimeout("zaehlertag()", 1000);
}

function zaehlernacht()
{
  window.clearTimeout(timer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x==46) {x=19;} 
  timer = setTimeout("zaehlernacht()", 3500);
}

function changed()
{
	var i = document.auswahlform.list.selectedIndex;
	if (i == 0) zaehlertag();
	if (i == 1) zaehlernacht();
	if (i == 2) zaehlertag();
}
//-->
</script>


</head>
<body onload="bilder_laden();" scrolling="no">

  <div id="bg">
  <img src="bilder/strasse.jpg" width="1" height="1" alt="Bildhintergrund" id="hintergrund" />
  </div>
  <div id="tabelle">
  <table border="0" cellspacing="0" cellpadding="0">
  
 <tr> <!-- Zeile 1 //-->
  <td></td>
  <td></td>
  <td><div id="oben"><img height="50%" style="position: absolute; bottom: 2em; left: 2.5em;" name="oben" src="bilder/rot_oben.jpg"></div></td>
  <td></td>
  <td> <div id="auswahl"> 
	<form name="auswahlform">
	<select NAME="list" onchange="changed()" size="1">
		<option> Tagschaltung </option>
		<option> Nachtschaltung </option>
		<option> Ausgeschaltet </option>
	</select>
	</form>
  </div> </td>
 </tr>
 
 <tr> <!-- Zeile 2 //-->
  <td></td>
  <td></td>
  <td></td>
  <td><div id="rechts"><img style="position: absolute; bottom: 1em; right: 0em;" name="rechts" src="bilder/rot_rechts.jpg"></div></td>
<!--  style="position:absolute; bottom:0px; right:0px" //-->
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 3 //-->
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 4 //-->
  <td></td>
  <td><div id="links"><img style="position: absolute; top: 1em; left: 0;" name="links" src="bilder/rot_links.jpg"></div></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 5 //-->
  <td></td>
  <td></td>
  <td><div id="unten"><img style="position: absolute; top: 2.5em; right: 3em;" align="right" name="unten" src="bilder/rot_unten.jpg"></div></td>
  <td></td>
  <td></td>
 </tr>
</table>
</div>
</body>
</html>

Was noch fehlt: Dass die Ampel gestartet wird.
Statt body onload="bilder_laden()" wäre da wohl zaehlertag() sinnvoller...
 
Zuletzt bearbeitet:
Bei body onload hatte ich vorher beide Funktionen drin.

Kannst du das nochmal mit den 3 Schaltungen machen? Mit den 2 gehts ja.
 
Hier
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head  scrolling="no">
	<title>Ampelschaltung</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
	
	<link rel="stylesheet" href="format.css" />
	
	<!--[if lte IE 6]>
        <style type="text/css">@import url(format_ie_6.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, " + 
"das heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. " +
"Wir empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den "+
"aktuellen Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if IE 7]>
        <style type="text/css">@import url(format_ie_7.css);</style>
		<script language="JavaScript" type="text/javascript" onLoad="alert()">
		alert("Achtung! Diese Website ist fuer aktuelle Browser optimiert, das " +
"heisst es kann in ihrem Browser zu Fehlern in der Darstellung kommen. Wir " +
"empfehlen, auf den aktuellen Internet Explorer zu updaten, oder den aktuellen " +
"Mozilla Firefox zu verwenden.");
		</script>
    <![endif]-->
	
	<!--[if gte IE 8]>
        <style type="text/css">@import url(format_ie_8.css);</style>
    <![endif]-->
	
	
      
	<script language="JavaScript" type="text/javascript">
<!--


function bilder_laden(){  
// Welchen Sinn hatte diese Funktion?
}
  
//-->
</script>





<script language="JavaScript" type="text/javascript">
<!--
var x=19;
var timer;

function zaehlertag()
{
  window.clearTimeout(timer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x>=46) {x=19;} 
  timer = window.setTimeout("zaehlertag()", 1000);
}

function zaehlernacht()
{
  window.clearTimeout(timer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/rot_links.jpg";}
  if(x==23) {document.links.src="bilder/rot_links.jpg";}
  if(x==24) {document.links.src="bilder/rot_links.jpg";}
  if(x==30) {document.links.src="bilder/rot_links.jpg";}
  if(x==32) {document.links.src="bilder/rot_links.jpg";}
  if(x==34) {document.links.src="bilder/rotgelb_links.jpg";}
  if(x==35) {document.links.src="bilder/gruen_links.jpg";}
  if(x==44) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==23) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==24) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==30) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==32) {document.rechts.src="bilder/rot_rechts.jpg";}
  if(x==34) {document.rechts.src="bilder/rotgelb_rechts.jpg";}
  if(x==35) {document.rechts.src="bilder/gruen_rechts.jpg";}
  if(x==44) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==23) {document.oben.src="bilder/rotgelb_oben.jpg";}
  if(x==24) {document.oben.src="bilder/gruen_oben.jpg";}
  if(x==30) {document.oben.src="bilder/gelb_oben.jpg";}
  if(x==32) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==34) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==35) {document.oben.src="bilder/rot_oben.jpg";}
  if(x==44) {document.oben.src="bilder/rot_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==23) {document.unten.src="bilder/rotgelb_unten.jpg";}
  if(x==24) {document.unten.src="bilder/gruen_unten.jpg";}
  if(x==30) {document.unten.src="bilder/gelb_unten.jpg";}
  if(x==32) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==34) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==35) {document.unten.src="bilder/rot_unten.jpg";}
  if(x==44) {document.unten.src="bilder/rot_unten.jpg";}
  
  if(x>=46) {x=19;} 
  timer = setTimeout("zaehlernacht()", 3500);
}

function zaehleraus()
{ 
  window.clearTimeout(timer);
  x = x + 1;  
  //links
  if(x==20) {document.links.src="bilder/aus_links.jpg";}
  if(x==21) {document.links.src="bilder/gelb_links.jpg";}
  
  //rechts
  if(x==20) {document.rechts.src="bilder/aus_rechts.jpg";}
  if(x==21) {document.rechts.src="bilder/gelb_rechts.jpg";}
  
  //oben
  if(x==20) {document.oben.src="bilder/aus_oben.jpg";}
  if(x==21) {document.oben.src="bilder/gelb_oben.jpg";}
  
  //unten
  if(x==20) {document.unten.src="bilder/aus_unten.jpg";}
  if(x==21) {document.unten.src="bilder/gelb_unten.jpg";}
  
  if(x>=21) {x=19;} 
  timer = window.setTimeout("zaehleraus()", 400);

}


function changed()
{
	var i = document.auswahlform.list.selectedIndex;
	if (i == 0) zaehlertag();
	if (i == 1) zaehlernacht();
	if (i == 2) zaehleraus();
}
//-->
</script>


</head>
<body onload="zaehlertag();" scrolling="no">

  <div id="bg">
  <img src="bilder/strasse.jpg" width="1" height="1" alt="Bildhintergrund" id="hintergrund" />
  </div>
  <div id="tabelle">
  <table border="0" cellspacing="0" cellpadding="0">
  
 <tr> <!-- Zeile 1 //-->
  <td></td>
  <td></td>
  <td><div id="oben"><img height="50%" style="position: absolute; bottom: 2em; left: 2.5em;" name="oben" src="bilder/rot_oben.jpg"></div></td>
  <td></td>
  <td> <div id="auswahl"> 
	<form name="auswahlform">
	<select NAME="list" onchange="changed()" size="1">
		<option> Tagschaltung </option>
		<option> Nachtschaltung </option>
		<option> Ausgeschaltet </option>
	</select>
	</form>
  </div> </td>
 </tr>
 
 <tr> <!-- Zeile 2 //-->
  <td></td>
  <td></td>
  <td></td>
  <td><div id="rechts"><img style="position: absolute; bottom: 1em; right: 0em;" name="rechts" src="bilder/rot_rechts.jpg"></div></td>
<!--  style="position:absolute; bottom:0px; right:0px" //-->
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 3 //-->
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 4 //-->
  <td></td>
  <td><div id="links"><img style="position: absolute; top: 1em; left: 0;" name="links" src="bilder/rot_links.jpg"></div></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 
 <tr> <!-- Zeile 5 //-->
  <td></td>
  <td></td>
  <td><div id="unten"><img style="position: absolute; top: 2.5em; right: 3em;" align="right" name="unten" src="bilder/rot_unten.jpg"></div></td>
  <td></td>
  <td></td>
 </tr>
</table>
</div>
</body>
</html>

Übrigens:
Abfragen wie "if(x==46) {x=19;}" sind absolut schlechter Stil und sogar gefährlich (also unsicher). Wenn du auf "ausgeschaltet" schälst ist die Wahrscheinlichkeit nicht gerade gering, dass x schon größer als der Schwellenwert ist. Interessiert dich wirklich, wann x den Wert erreicht hat, oder willst du eher wissen, wann x eine Grenze erreicht oder evtl sogar überschritten hat.
Es ist hier immer sicherer zu schreiben
if(x>=46) {x=19;}
 
Zuletzt bearbeitet:
Ja, genau so hatte ich es auch gerade. Aber es geht nicht. :(

Ds mit der Abfrage:
Ist doch letztendlich egal, weil x immer nur um 1 höher gesetzt wird. Deshalb muss x ja auch irgendwann 46 erreichen.
ich hatte das deshalb so gemacht, weil ich ursprünglich geplant hatte, für die Nachtschaltung einen anderen Zahlenbereich festzulegen.

Und: Danke, dass du dir die ganze Arbeit machst.
 
Nein es ist eben nicht egal!

Dass x irgendwann 46 erreicht ist ok. Aaaaaber... Wenn du auf "ausgeschaltet" schälst hat x evtl nen Wert größer als 21... z.B. 25... wird aber immer nur um 1 hochgezählt Bis es mal wieder 21 erreicht (das passiert irgendwann wirklich) vergehen aber Millionen von Sekunden... und ein Tag hat gerade mal um die 80000 Sekunden...

Es ist in solchen Fällen immer besser so weiche Bedingungen wie möglich zu wählen...

Versuch nochmal den Code, hatte paar kleine Fehlerchen anfangs noch drin als ich den Code für hier lesbarer gemacht hab.
 
Ah ja. hatte es gestern selber nochmal etwas umgeschrieben, und war dann so weit, dass alles geklappt hat. Man konnte aber nicht am Anfang von Aus auf Tag umschalten, sondern nur auf nacht. Wie auch immer, dein Script geht super.

Jetzt werde ich noch Fussgängerampeln einfügen und dazugehörige Anforderungsknöpfe.

Falls ich wieder nicht weiter komme, melde ich mich hier nochmal.
 

Ähnliche Themen

Zurück
Oben