ampyMedlem sedan feb. 20011 498 inlägg Denna kod hittade jag på Jojoxx.net:
<form name="cform">
<input type="text" name="disp" size=28 style="width: 300px;">
</form>
<script type="text/javascript">
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
får användas fritt så länge som dessa rader står kvar. */
var year = 2002;
var month = 7;
var day = 20;
// Do not edit lines below.
var then = new Date(year,month-1,day);
function runMany(){
var now = new Date();
if (now < then){
var days = Math.floor((then-now)/(1000*60*60*24));
var hours = Math.floor((then-now-days*1000*60*60*24)/(1000*60*60));
var mins = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60)/(1000*60));
var secs = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60)/(1000));
var tsecs = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60-secs*1000)/(100));
document.cform.disp.value = days + " dagar, " + hours + " timmar, " + mins + " minuter, " + secs + ":" + tsecs + " sekunder.";
}
setTimeout("runMany();",100);
}
runMany();
</script>
Hur gör man så att resultatet visas direkt på sidan och inte i ett fält?
Alltså i en span-tagg eller något:
<span id=nedrakning style="position: absolute;"></span>
Har försökt att få till det men lyckas aldrig
tosteweMedlem sedan juni 200291 inlägg Du kan ju till att börja med analysera raden...
document.cform.disp.value = days + " dagar, " + hours + " timmar, " + mins + " minuter, " + secs + ":" + tsecs + " sekunder.";
Det är den raden som skriver till
<input type="text" name="disp" size=28 style="width: 300px;">
Du måste på något sätt skriva till din <SPAN name="disp"> tagg och jag vill minnas att du skall använda dig av en metod som heter InnerHTML men jag har inga böcker tillgängliga just nu. och det är för varmt för att tänka. Men kolla på nätet jag tror att det serut ungefär såhär:
Document.disp.InnerHTLM = days + " dagar, " + hours + " timmar, " + mins + " minuter, " + secs + ":" + tsecs + " sekunder.";
Men det är långt ifrån säkert.
Lycka till i värmen
ampyMedlem sedan feb. 20011 498 inlägg Du hjälpte mig en bit på vägen, lyckades får ihop detta:
<h1><font color="#FF0000"><b><span id=disp style="position: absolute;"></span></b></font></h1>
<script type="text/javascript">
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
får användas fritt så länge som dessa rader står kvar. */
var elementId = "disp";
<%
dNextDate = getNextMonday()
tider = dNextDate
function getNextMonday()
'-- declare variables --
dim iWeekday
dim dNextDate
Dim dToday
'-- init -----------------
dToday = CDate(Year(now()) & "-" & Month(now()) & "-" & day(now()) & " 21:00")
iWeekday = weekday(now(),2)
if (iWeekday > 1) or (iweekday = 1 and hour(now()) > 20) then
dNextDate = DateAdd("d", 8-iWeekday , dToday)
else
dNextDate = dToday
end if
getNextMonday = dNextDate
end function
%>
var year = <%=year(tider)%>;
var month = <%=month(tider)%>;
var day = <%=day(tider)%>;
var hour = 21;
var min = 0;
var sec = 0;
// Do not edit lines below.
var then = new Date(year,month-1,day,hour,min,sec);
function runMany(){
var now = new Date();
if (now < then){
var days = Math.floor((then-now)/(1000*60*60*24));
var hours = Math.floor((then-now-days*1000*60*60*24)/(1000*60*60));
var mins = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60)/(1000*60));
var secs = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60)/(1000));
document.all[elementId].innerHTML = days + " dagar " + hours + " timmar " + mins + " minuter " + secs + " sekunder";
}
setTimeout("runMany();",100);
}
runMany();
</script>
Men denna kod tar från datorns klocka men jag vill ta från serverns.
Misstänker att man ska ändra denna rad:
var now = new Date();
men det funkar inte så här:
var now = new <%=Date()%>;
hur ska man skriva?
solbulleMedlem sedan mars 20015 287 inlägg Fungerasr det inte bara med:
var now = <%=Date()%>;
tosteweMedlem sedan juni 200291 inlägg Error
Vad får du för fel på
var now=<%date()%>
??
ampyMedlem sedan feb. 20011 498 inlägg När jag skriver
var now=<%date()%>
eller var now=<%date()%>;
så skriver den inte ut något.
När jag skriver:
var now = <%=date%>;
så skriver den ut:
11890 dagar 18 timmar 59 minuter 58 sekunder
och så uppdateras inte sekunderna
men det ska egentligen stå:
5 dagar 10 timmar 37 minuter 30 sekunder
tosteweMedlem sedan juni 200291 inlägg Now()
Pröva med <%Now()%> och se om det fungerar bättre.
Stewe
ampyMedlem sedan feb. 20011 498 inlägg Då får jag ett javascriptfelmeddelande som lyder:
; förväntats
var now = <%=now()%>;
raden blir ju så här:
var now = 2002-07-17 10:36:45;
tror inte man kan ha :
därför blir det javascriptfel
tosteweMedlem sedan juni 200291 inlägg Kan du inte på något sätt omvandla datumformatet till en sträng och hacka upp den...
ampyMedlem sedan feb. 20011 498 inlägg Hur ska datumformatet se ut egentligen?
tosteweMedlem sedan juni 200291 inlägg <%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
date()=<%=date()%><BR>
Now()=<%=now()%><BR>
time()=<%=Time()%><BR>
</BODY>
</HTML>
Gav:
date()=2002-07-17
Now()=2002-07-17 11:05:02
time()=11:05:02
ampyMedlem sedan feb. 20011 498 inlägg Men hur ska det då se ut på denna rad?
var now = <%=now()%>;
tosteweMedlem sedan juni 200291 inlägg Men är det så djävla viktigt att hämta server tiden ??? (enkel utväg) :)
Kan du annars inte ge Now() några variabler eller metoder( jag har ingen Java bok att kolla i)... Typ:
var nu = Now(<%=now()%>)
Vad vet jag...
Stewe