Avatar billede dj-eclipze Nybegynder
06. marts 2008 - 14:13 Der er 9 kommentarer og
1 løsning

Countdown script - hjælp !

Hey drenge!

Jeg havde fundet et countdown script inde på nettet, som jeg har siddet og modificeret så det passede til hjemmesiden www.pcsg.dk/count2 (en test side, countdown scriptet skal være på forsiden)

Men nu har min chef så fundet ud af han også vil have sekunder og minutter på.. Og her står jeg af.. Har brugt så lang tid på at få det andet til og virke, og nu skal der så også de andre ting på.

Så vidt jeg ved er det bare at kopiere noget af den eksisterende kode og lave det om til minutter og sekunder.. Men har ingen ide om hvordan jeg skal gøre det..

Er der nogen der kan hjælpe mig med det??

Er det imellem noget af det her kode noget jeg skal sætte det ind?

function showtime() {
now = new Date();
var CurMonth = now.getMonth();
var CurDate = now.getDate();
var CurYear = now.getFullYear();
now = null;
if (31 < CurDate) {
CurDate -= date[CurMonth]; CurMonth++;
}
if (0 < CurMonth) {
CurMonth -= 12; CurYear++;
}

var Yearleft = 2009 - CurYear;
var Monthleft = 0 - CurMonth;
var Dateleft = 31 - CurDate;

document.dateform.b.value = Monthleft;
document.dateform.c.value = Dateleft;

timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
// End -->
</script>

Mvh Peter Leidecker
Avatar billede dj-eclipze Nybegynder
06. marts 2008 - 14:49 #1
Her følger hele scriptet:

<p>
<html>

<head>

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
var Temp2;
var timerID = null;
var timerRunning = false;
function arry() {
this.length = 12;
this[0] = 31;
this[1] = 28;
this[2] = 31;
this[3] = 30;
this[4] = 31;
this[5] = 30;
this[6] = 31;
this[7] = 31;
this[8] = 30;
this[9] = 31;
this[10] = 30;
this[11] = 31;
}
var date = new arry();

function stopclock() {
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}

function startclock() {
stopclock();
showtime();
}

function showtime() {
now = new Date();
var CurMonth = now.getMonth();
var CurDate = now.getDate();
var CurYear = now.getFullYear();
now = null;
if (31 < CurDate) {
CurDate -= date[CurMonth]; CurMonth++;
}
if (0 < CurMonth) {
CurMonth -= 12; CurYear++;
}

var Yearleft = 2009 - CurYear;
var Monthleft = 0 - CurMonth;
var Dateleft = 31 - CurDate;

document.dateform.b.value = Monthleft;
document.dateform.c.value = Dateleft;

timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
// End -->
</script>
</head>

<BODY Onload="startclock()">

<TABLE ALIGN="center" BORDER="3" CELLPADDING="0" CELLSPACING="0" WIDTH="450" HEIGHT="10" BGCOLOR="#3B98D1"
<TR>
<TD>
<center>
<form name=dateform><font text-align=center size="3" color="white">Kun 
<input type=text style="text-align=center; font-size=14px; font-weight=bold;" name=b size=1 value=""> måneder, og
<input type=text style="text-align=center; font-size=14px; font-weight=bold;" name=c size=1 value=""> dage<br />indtil XAL support udløber</form>
</TD>
</TR>
</TABLE>
</body>
</html>
</p>
Avatar billede softspot Forsker
06. marts 2008 - 15:55 #2
Jeg har flikket dette alternative script sammen til at udregne differencen mellem dags dato og en dato i fremtiden. Det er lidt groft, men nu kan du jo se om det er noget der overhovedet kan bruges:

<html>
<head>
<script type="text/javascript">
function timedifference(msecs) {
  this.seconds = parseInt((msecs / 1000) % 60);
  this.minutes = parseInt((msecs / (60 * 1000)) % 60);
  this.hours = parseInt((msecs / (60 * 60 * 1000)) % 24);
  this.days = parseInt((msecs / (24 * 60 * 60 * 1000)) % 31);
  this.months = parseInt((msecs / (31 * 24 * 60 * 60 * 1000)) % 12);
  this.years = parseInt(msecs / (12 * 31 * 24 * 60 * 60 * 1000));
}
function calcTimeDifference(toDate) {
  var dt = new Date();
  var diff = toDate.getTime() - dt.getTime();
  return new timedifference(diff); 
}
function showCountdown(wheretoshow) {
  var e = document.getElementById(wheretoshow);
  var td = calcTimeDifference(new Date(2009,0,31,12,0,0));
  e.innerHTML =
            td.years + ' år, '
        +  td.months + ' måned' + (td.months == 1 ? '' : 'er') + ', '
        +  td.days + ' dag' + (td.days == 1 ? '' : 'e') + ', '
        +  td.hours + ' time' + (td.hours == 1 ? '' : 'r') + ', '
        +  td.minutes + ' minut' + (td.minutes == 1 ? '' : 'ter') + ' og '
        +  td.seconds + ' sekund' + (td.seconds == 1 ? '' : 'er') + ' tilbage.';
}
window.onload = function() {
  setInterval("showCountdown('visTidTilbage')",1000);
}
</script>
</head>
<body>

<div id="visTidTilbage"></div>

</body>
</html>
Avatar billede dj-eclipze Nybegynder
06. marts 2008 - 16:06 #3
Jo tak det virker glimrende?.. Men hvad hvis jeg godt ville have dem til og stå inde i sådan nogle forms som de gør i det countdown jeg har kørende nu?

Hvad skal koden så være?.. et eller andet med <form> kan jeg næsten regne ud hehe,.
Avatar billede softspot Forsker
06. marts 2008 - 16:27 #4
Det du får tilbage fra calcTimeDifference er et objekt som indeholder de forskellige enheder i tiden der er tilbage til den dato som er angivet som parameter. Dvs. du kan blot aflæse værdierne enkeltvis og vise dem der hvor du måtte lyste. Det kunne f.eks. se således ud:

<html>
<head>
<script type="text/javascript">
function timedifference(msecs) {
  this.seconds = parseInt((msecs / 1000) % 60);
  this.minutes = parseInt((msecs / (60 * 1000)) % 60);
  this.hours = parseInt((msecs / (60 * 60 * 1000)) % 24);
  this.days = parseInt((msecs / (24 * 60 * 60 * 1000)) % 31);
  this.months = parseInt((msecs / (31 * 24 * 60 * 60 * 1000)) % 12);
  this.years = parseInt(msecs / (12 * 31 * 24 * 60 * 60 * 1000));
}
function calcTimeDifference(toDate) {
  var dt = new Date();
  var diff = toDate.getTime() - dt.getTime();
  return new timedifference(diff); 
}
function showCountdown(wheretoshow) {
  var frm = document.getElementById("dateform");
  var e = document.getElementById(wheretoshow);
  var td = calcTimeDifference(new Date(2009,0,31,12,0,0));
  frm.monthsleft.value = td.months;
  frm.daysleft.value = td.days;
  frm.hoursleft.value = td.hours;
  frm.minutesleft.value = td.minutes;
}
window.onload = function() {
  setInterval("showCountdown('visTidTilbage')",1000);
}
</script>
</head>
<body>
<TABLE ALIGN="center" BORDER="3" CELLPADDING="0" CELLSPACING="0" WIDTH="450" HEIGHT="10" BGCOLOR="#3B98D1"
<TR>
<TD>
<center>
<form name="dateform" id="dateform"><font text-align=center size="3" color="white">Kun 
<input type=text style="text-align=center; font-size=14px; font-weight=bold;" name="monthsleft" size=1 value=""> måneder, 
<input type=text style="text-align=center; font-size=14px; font-weight=bold;" name="daysleft" size=1 value=""> dage, 
<input type=text style="text-align=center; font-size=14px; font-weight=bold;" name="hoursleft" size=1 value=""> timer, og
<input type=text style="text-align=center; font-size=14px; font-weight=bold;" name="minutesleft" size=1 value=""> minutter<br />indtil XAL support udløber</form>
</TD>
</TR>
</TABLE>
</body>
</html>
Avatar billede roenving Novice
06. marts 2008 - 17:04 #5
-- og en anden vej ind er at kigge på mine Date-objekt udvidelser: http://roenving.users.whitehat.dk/date/roenvingDate.html !-)

-- test f.eks. ved at indskrive en dato (og evt. tidspunkt i reference-feltet !-)
Avatar billede dj-eclipze Nybegynder
07. marts 2008 - 10:30 #6
Tak for hjælpen Soft..
Smid et svar
Avatar billede softspot Forsker
07. marts 2008 - 11:30 #7
Velbekomme :)
Avatar billede softspot Forsker
13. marts 2008 - 10:08 #8
DJ - var der andet du manglede at få afklaret...?
Avatar billede softspot Forsker
03. april 2008 - 12:45 #9
Reminder...
Avatar billede softspot Forsker
30. juli 2008 - 10:55 #10
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester