[Javascript] Newbie- Still having switch statement problems i n IE 5.5
Mckinney, Lori K
lkmckinn at ingr.com
Fri Mar 22 08:31:44 CST 2002
Steve,
It appears to me that the problem is your switch statement is switching on a number but all of your case values evaluate to a Boolean. So if the value of secCtr is 14 for example, the switch looks essentially like this:
switch (14)
case false:
...
break;
case false:
...
break;
case false:
...
break;
case false:
...
break;
case false:
...
break;
case true:
...
break;
etc
}
Since 14 does match in value and datatype true or false, it will always fall through to the default.
I changed the switch(secCtr) to switch(true) and your code appeared to work for me on IE 5.5.
Lori
-----Original Message-----
From: Steve [mailto:extstarrfam at cox-internet.com]
Sent: Thursday, March 21, 2002 5:17 PM
To: javascript at LaTech.edu
Subject: [Javascript] Newbie- Still having switch statement problems in
IE 5.5
I have tried to make the switch statement work with and
without the break statement and with and without a
default value. Is there a bug in IE 5.5 that will not
allow this to work? If I use if statements instead of
a switch statement, it work. I am not getting a syntax
error message. Here is the code minus the HTML
declaration:
<head>
<script language="JavaScript">
<!--
// please keep these lines on when you copy the source
// made by: Nicolas
// Altered by S. K. Starr 11/18/02.
var pace = 0;
function UpdateClock() {
if(pace) {
clearTimeout(pace);
pace = 0;
}
// I could not get the seconds placed into a variable
and
// make it work.
var theDate = new Date();
var secCtr = theDate.getSeconds();
// Flashing text display code starts here
switch (secCtr) {
case secCtr <= 2:
document.theForm.textDisplay.value = "";
break;
case secCtr > 2 && secCtr <= 5:
document.theForm.textDisplay.value = "3 thru 5";
break;
case secCtr > 5 && secCtr <= 7:
document.theForm.textDisplay.value = "";
break;
case secCtr > 7 && secCtr <= 10:
document.theForm.textDisplay.value = "8 thru 10";
break;
case secCtr > 10 && secCtr <= 12:
document.theForm.textDisplay.value = "";
break;
case secCtr > 12 && secCtr <= 15:
document.theForm.textDisplay.value = "13 thru 15";
break;
case secCtr > 15 && secCtr <= 17:
document.theForm.textDisplay.value = "";
break;
case secCtr > 17 && secCtr <= 20:
document.theForm.textDisplay.value = "18 thru 20";
break;
case secCtr > 20 && secCtr <= 22:
document.theForm.textDisplay.value = "";
break;
case secCtr > 22 && secCtr <= 25:
document.theForm.textDisplay.value = "23 thru 25";
break;
case secCtr > 25 && secCtr <= 27:
document.theForm.textDisplay.value = "";
break;
case secCtr > 27 && secCtr <= 30:
document.theForm.textDisplay.value = "28 thru 30";
break;
case secCtr > 30 && secCtr <= 32:
document.theForm.textDisplay.value = "";
break;
case secCtr > 32 && secCtr <= 35:
document.theForm.textDisplay.value = "33 thru 35";
break;
case secCtr > 35 && secCtr <= 37:
document.theForm.textDisplay.value = "";
break;
case secCtr > 37 && secCtr <= 40:
document.theForm.textDisplay.value="38 thru 40";
break;
case secCtr > 40 && secCtr <= 42:
document.theForm.textDisplay.value = "";
break;
case secCtr > 43 && secCtr <= 45:
document.theForm.textDisplay.value="";
break;
case secCtr > 45 && secCtr <= 48:
document.theForm.textDisplay.value = "46 thru 48";
break;
case secCtr > 48 && secCtr <= 50:
document.theForm.textDisplay.value="";
break;
case secCtr > 50 && secCtr <= 53:
document.theForm.textDisplay.value = "51 thru 53";
break;
case secCtr > 53 && secCtr <= 55:
document.theForm.textDisplay.value="";
break;
case secCtr > 55 && secCtr <= 58:
document.theForm.textDisplay.value = "56 thru 58";
break;
case secCtr > 58 && secCtr < 60:
document.theForm.textDisplay.value="";
break;
default:
document.theForm.textDisplay.value=secCtr;
}
pace = setTimeout("UpdateClock()", 1000);
}
function startFlash() {
pace = setTimeout("UpdateClock()", 500);
}
function stopFlash() {
if(pace) {
clearTimeout(pace);
pace = 0;
}
}
//-->
</script>
</head>
<body onload="startFlash()" onunload="stopFlash()">
<form name="theForm">
<input type="text" name="textDisplay" length="12"
style="font-size: x-large; text-align: center;
background: #0000FF; color: #FFFFFF;">
</form>
</body>
</html>
_______________________________________________
Javascript mailing list
Javascript at LaTech.edu
https://lists.LaTech.edu/mailman/listinfo/javascript
More information about the Javascript
mailing list