if - else - und dann?
Steffen
- javascript
Hallo! :-)
Ich möchte, dass sich die Hintergrundfarbe immer wieder ändert - für zwei bekomme ich das hin, nur wie mach ich's, dass sie zum Beispiel von rot zu grün zu blau und dann wieder zu rot wechselt?
Mit if und else kann ich nur zwei Farben ändern...
Vielen Dank für die Hilfe!
Hallo Steffen,
das geht genauso wie in (fast) allen anderen Programmiersprachen. Es heißt nicht if-else, sondern if-elseif-else. Das sieht dann z.B. so aus:
if (farbe == 1) {
alert('rot');
} elseif (farbe == 2) {
alert('blau');
} else {
alert('grün');
}
else tritt also ein, wenn keine der anderen Bedingungen eintreten.
Also, ich bin kein JavaScript-könner und habe eigentlich nur diese Vorlage:
<html>
<head>
<title>Test1</title>
</head>
<body>
<script language="JavaScript">
window.setInterval("Farbe()",1000);
i = 0, farbe = 1;
function Farbe()
{
if(farbe==1)
{ document.bgColor="yellow"; farbe=2; }
else
{ document.bgColor="red"; farbe=1; }
}
</script>
</body>
</html>
und ich weiß leider nicht, wie ich die Antwort darauf anwenden kann - aber trotzdem:
Vielen Dank!
Hi,
es _gibt_ in JS kein elseif, elsif oder sonst irgendwie geartete mehrfach verzweigenden If-Statements.
(nachzulesen in Self oder hier: http://developer.netscape.com/docs/manuals/js/client/jsref/stmt.htm#1004833)
Da muß man schon auf seinen Grips zurück greifen ;)
if(farbe==1)
{ document.bgColor="yellow"; farbe=2; }
else
{ document.bgColor="red"; farbe=1; }
erweitere das ganze doch einfach, indem du in der Verzweigung noch einmal bedingst:
if(farbe == 1)
{ code; }
else
{
if(farbe == 2)
{ code; }
else
{ code; }
}
Oder halt so, wie ich es gemacht habe in der Lösung vorher. (btw: Array.length muß farben.length heißen ;))
mfg
CK1
<img src="http://wwwtech.de/images/banner.jpg" alt="">
http://wwwtech.de/moorhuhn/
Hallo
Die geänderte Version:
<html>
<head>
<title>Test1</title>
</head>
<body>
<script language="JavaScript">
window.setInterval("Farbe()",1000);
var farbe = 0;
function Farbe()
{
switch(farbe)
{
case 0:
document.bgColor="yellow";
break;
document.bgColor="yellow";
case 1:
document.bgColor="yellow";
break;
document.bgColor="yellow";
case 2:
document.bgColor="yellow";
break;
default:
document.bgColor="yellow";
farbe = -1;
break;
}
farbe++;
}
</script>
</body>
</html>
Tschüs
Daniel
Uuuuuuuuuuuuuuuuuuuuuuuuuupsssssssssssss!!!!!!!!!!!!1
Mit Perl vertauscht ;-). Ich mache das auch immer mit switch... *peinlichsei*
Hi,
Ich möchte, dass sich die Hintergrundfarbe immer wieder ändert
Uh, sowas ist nicht unbedingt zu empfehlen, sowas nervt ziehmlich ;)
für zwei bekomme ich das hin, nur wie mach ich's, dass sie zum Beispiel von rot zu grün zu blau
und dann wieder zu rot wechselt?
farben = new Arrray("#FF0000","#00FF00","#0000FF");
akt = 0;
function wechsel()
{
if((++akt) >= array.length)
{ akt = 0; }
// Farbe setzen
}
Mit if und else kann ich nur zwei Farben ändern...
Eigentlich nicht ;)
mfg
CK1
[images:http://wwwtech.de/images/banner.jpg]
http://wwwtech.de/moorhuhn/