Ur der viser forkert tidspunkt når siden loades
Jeg har en WEB-side som kan vise klokken for nogle forskellige byer. Brugeren vælger den ønskede by i en dropdown-boks. Koden ser ud som følgende:Javascript der beregner tiden:
function timer(v){
GMT = v;
var gmt = new Date();
var now = new Date();
var set = now.getTimezoneOffset();
gmt.setTime(now.getTime()+(set/60+parseFloat(GMT))*60*60*1000);
hor = gmt.getHours(); if(hor < 10)hor = "0" + hor;
min = gmt.getMinutes(); if(min < 10)min = "0" + min;
sec = gmt.getSeconds(); if(sec < 10)sec = "0" + sec;
document.W_clock.W_text.value = " "+hor+" : "+min+" : "+sec;
hor = now.getHours(); if(hor < 10)hor = "0" + hor;
min = now.getMinutes(); if(min < 10)min = "0" + min;
sec = now.getSeconds(); if(sec < 10)sec = "0" + sec;
document.W_clock.W_text2.value = " "+hor+" : "+min+" : "+sec;
setTimeout("timer(GMT)",999);
}
Her er dropdownboksen hvor der vælges by:
<table border="0" cellpadding="0" cellspacing="0" width="200" height="37"class="Clock">
<tr><td width="30" align="right"></td><td align="right"> Your time is: <input type="text" name="W_text2" class="ClockInput"></td></tr>
<tr><td></td><td align="right">
<select name="city"
onChange="timer(W_clock.city.options[W_clock.city.selectedIndex].value)" class="ClockSelect">
<option value=10>Melbourne
<option value=9>Tokyo
<option value=8>Singapore
<option value=2>Copenhagen
<option value=2>Rotterdam
<option value=1>London
<option value=-3>Rio de Janeiro
<option value=-3>Sao Paulo
<option selected value=-4>Nassau
<option value=-4>Stamford
<option value=-5>Houston
<option value=-5>Barranquilla
</select>  is: <input type="text" name="W_text" class="ClockInput"></td></tr>
Mit problem er at første gang siden loades vises tiden for Nassau, men en time bag ud (hvis klokken i Nassau er 10.00 vises 9.00). Hvis jeg vælger en af de andre byer og går tilbage til Nassau, så passer tiden.... Er der nogen der kan finde fejlen ??
