Hello. I tried to create an alarm clock program that would loop until the desired time, then it would open an audio file based upon user choice. The program itself works perfectly... that is, until it reaches the alarm time. Then it loops infinately, trying to open WMP every second. Anyone have a suggestion as to how I can change / fix this issue? The coding is at the bottom, and yes, I code a little differently with my if statements...
Code:
<html>
<head>
<script type="text/javascript">
function time()
{
var date = new Date();
var hourNow = date.getHours();
var minuteNow = date.getMinutes();
var secondsNow = date.getSeconds();
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";
if (secondsNow < 10)
{
secondsNow = "0" + secondsNow;
}
document.getElementById("time").value = 'Current time is: ' + weekday[date.getDay()] + ', ' + hourNow + ':' + minuteNow + ':' + secondsNow;
setTimeout("time()",1000);
}
function run()
{
var alarmDay = document.getElementById("day").value;
var alarmHour = document.getElementById("hour").value;
var alarmMinute = document.getElementById("minute").value;
var date = new Date();
var hourNow = date.getHours();
var minuteNow = date.getMinutes();
var secondsNow = date.getSeconds();
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";
var true1 = 0;
var true2 = 0;
var true3 = 0;
var count = 0;
var interval;
if (alarmDay == weekday[date.getDay()])
{
true1 = 1;
}
if (alarmDay != weekday[date.getDay()])
{
true1 = 0;
}
if (alarmHour == hourNow)
{
true2 = 1;
}
if (alarmHour != hourNow)
{
true2 = 0;
}
if (alarmMinute == minuteNow)
{
true3 = 1;
}
if (alarmMinute != minuteNow)
{
true3 = 0;
}
if ((true1 == 0) || (true2 == 0) || (true3 == 0))
{
document.getElementById("alarm").value = "Alarm has been set";
}
if ((true1 == 1) && (true2 == 1) && (true3 == 1))
{
count = count + 1;
var path = document.getElementById("path").value;
window.open(path);
}
interval = setInterval("run()",1000);
if (count > 1)
{
clearInterval(interval);
}
}
</script>
</head>
<body onload="time();">
<table bgcolor="gray" width=300>
<td><font color="white">
<center>
<textarea id="time" style="border:none; overflow:auto"></textarea>
<br>
Select the day you want the alarm to run.<br>
<select id="day">
<option name="sunday" value="Sunday" >Sunday
<option name="monday" value="Monday" >Monday
<option name="tuesday" value="Tuesday" >Tuesday
<option name="wednesday" value="Wednesday" >Wednesday
<option name="thursday" value="Thursday" >Thursday
<option name="friday" value="Friday" >Friday
<option name="saturday" value="Saturday" >Saturday
</select>
</center>
<center>
Select the time you want the alarm to run.<br>
<select id="hour">
<option name="00" value="00" >00
<option name="01" value="01" >01
<option name="02" value="02" >02
<option name="03" value="03" >03
<option name="04" value="04" >04
<option name="05" value="05" >05
<option name="06" value="06" >06
<option name="07" value="07" >07
<option name="08" value="08" >08
<option name="09" value="09" >09
<option name="10" value="10" >10
<option name="11" value="11" >11
<option name="12" value="12" >12
<option name="13" value="13" >13
<option name="14" value="14" >14
<option name="15" value="15" >15
<option name="16" value="16" >16
<option name="17" value="17" >17
<option name="18" value="18" >18
<option name="19" value="19" >19
<option name="20" value="20" >20
<option name="21" value="21" >21
<option name="22" value="22" >22
<option name="23" value="23" >23
</select>
<select id="minute">
<option name="00" value="0" >00
<option name="01" value="1" >01
<option name="02" value="2" >02
<option name="03" value="3" >03
<option name="04" value="4" >04
<option name="05" value="5" >05
<option name="06" value="6" >06
<option name="07" value="7" >07
<option name="08" value="8" >08
<option name="09" value="9" >09
<option name="10" value="10" >10
<option name="11" value="11" >11
<option name="12" value="12" >12
<option name="13" value="13" >13
<option name="14" value="14" >14
<option name="15" value="15" >15
<option name="16" value="16" >16
<option name="17" value="17" >17
<option name="18" value="18" >18
<option name="19" value="19" >19
<option name="20" value="20" >20
<option name="21" value="21" >21
<option name="22" value="22" >22
<option name="23" value="23" >23
<option name="24" value="24" >24
<option name="25" value="25" >25
<option name="26" value="26" >26
<option name="27" value="27" >27
<option name="28" value="28" >28
<option name="29" value="29" >29
<option name="30" value="30" >30
<option name="31" value="31" >31
<option name="32" value="32" >32
<option name="33" value="33" >33
<option name="34" value="34" >34
<option name="35" value="35" >35
<option name="36" value="36" >36
<option name="37" value="37" >37
<option name="38" value="38" >38
<option name="39" value="39" >39
<option name="40" value="40" >40
<option name="41" value="41" >41
<option name="42" value="42" >42
<option name="43" value="43" >43
<option name="44" value="44" >44
<option name="45" value="45" >45
<option name="46" value="46" >46
<option name="47" value="47" >47
<option name="48" value="48" >48
<option name="49" value="49" >49
<option name="50" value="50" >50
<option name="51" value="51" >51
<option name="52" value="52" >52
<option name="53" value="53" >53
<option name="54" value="54" >54
<option name="55" value="55" >55
<option name="56" value="56" >56
<option name="57" value="57" >57
<option name="58" value="58" >58
<option name="59" value="59" >59
</select>
<br>
Enter the path for the sound file you wish to use<br>
<input type="file" id="path" style="width:300px;"><br>
<input type="reset" value="Reset" onclick="javascript: window.location.reload();">
<input type="button" value="Exit" onclick="javascript: window.close();">
<input type="button" value="Run Alarm" onclick="run();">
</center>
</table>
<textarea id="alarm" style="border:none; overflow:auto"></textarea>
</body>
</html>
Comment