Avatar billede blach Nybegynder
05. februar 2006 - 15:44 Der er 43 kommentarer og
2 løsninger

Countdown skal laves om

Har fundet et alletiders script her:
http://www.eksperten.dk/spm/6282

Mit problem er nu, at jeg ikke vil have den til at tælde i år og måneder. År siger sig selv, for får aldrig så store tidsintervaller, men måneder må den gerne bare tælde i dage.
Jeg har fjernet kode så den kun tælder dage, timer, min, sek osv., men den skal stadig tælle en måned i dage.

--Code--

<HTML>
<HEAD><TITLE>Countdown</Title></HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin Hiding

var enday = new Date("Februar 6, 2006 15:42:01");
var timeUp = "Auktion udløbet"
var time = "0 years, 0 months, 0 days, 0 hours, 0 minutes, and 0 seconds"


var endSecond = enday.getSeconds()
var endMinute = enday.getMinutes()
var endHour = enday.getHours()
var endDay = enday.getDate()
var endMonth = enday.getMonth()
var endYear = enday.getYear()
  if (endYear<100)  endYear=endYear+1900;


var timerID = null;
var timerRunning = false;

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

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

function showtime() {

var Temp2;
var Temp3;

var now = new Date();
var CurSecond = now.getSeconds();
var CurMinute = now.getMinutes();
var CurHour = now.getHours();
var CurDay = now.getDate();
var CurMonth = now.getMonth();
var CurYear = now.getYear();
  if (CurYear<100)  CurYear=CurYear+1900;

var Secondleft = endSecond;
var Minuteleft = endMinute;
var Hourleft = endHour;
var Dayleft = endDay;
var Monthleft = endMonth;
var Yearleft = endYear;


// Seconds
  if (Secondleft<CurSecond) {
      Secondleft=Secondleft+60;
      Minuteleft=Minuteleft-1;
  }
  Secondleft=Secondleft - CurSecond;

// Minutes
  if (Minuteleft<CurMinute) {
      Minuteleft=Minuteleft+60;
      Hourleft=Hourleft-1;
  }
  Minuteleft=Minuteleft - CurMinute;

// Hours
  if (Hourleft<CurHour) {
      Hourleft=Hourleft+24;
      Dayleft=Dayleft-1;
  }
  Hourleft=Hourleft - CurHour;

// Days
  var lyt=endYear/4;
  if (lyt == Math.round(lyt)) {febdays=29}
  else {febdays=28}

  var Dim= new Array(31, 31, febdays, 31, 30, 31, 30, 31, 31, 30, 31, 30);


  if (Dayleft<CurDay) {
      Dayleft=Dayleft+Dim[CurMonth];
      Monthleft=Monthleft-1;
  }
  Dayleft=Dayleft - CurDay;

// Months
  if (Monthleft<CurMonth) {
      Monthleft=Monthleft+12;
      Yearleft=Yearleft-1;
  }
  Monthleft=Monthleft - CurMonth;

// Years
  Yearleft=Yearleft - CurYear;


if (Yearleft!=1) {var ys=""} else {var ys=""};
if (Monthleft!=1) {var mos="er"} else {var mos=""}
if (Dayleft!=1) {var ds="e"} else {var ds=""}
if (Hourleft!=1) {var hs="r"} else {var hs=""}
if (Minuteleft!=1) {var mis="ter"} else {var mis=""}
if (Secondleft!=1) {var ss="er"} else {var ss=""}

Temp2='<b>'+Dayleft+' dag'+ds+'</b> '+Hourleft+' time'+hs+' - '+Minuteleft+' minut'+mis+' - '+Secondleft+' sekund'+ss;


Ur.innerHTML = Temp2;

timerID = setTimeout("showtime()",1000);
timerRunning = true;

Expire = (enday - now);

if (Expire <= 0){
  Ur.innerHTML = time;
  Ur.innerHTML = timeUp;
  stopclock()
}

}
// End Hiding -->
</SCRIPT>

<BODY onLoad="startclock()">
<div id=Ur align=center style="font-family: Verdana; font-size: 10"></div>

</BODY>
</HTML>
Avatar billede blach Nybegynder
05. februar 2006 - 17:10 #1
Og kan man ikke lave om, så man ikke skal skrive månedsnavn, men bare måned i tal?
Avatar billede roenving Novice
06. februar 2006 - 15:10 #2
Jeg ville lave den om til at skrive præcis det, jeg ønskede, og da du ikke ønsker måneder, men vil have det konverteret til dage er det nemmeste at tage udgangspunkt i getTime() og så udlede sekunder, minutter, timer og dage fra forskellen i millisekunder !-)

-- og man kan sagtens konstruere et Date-objekt ud fra tal alene, men der er den trickyhed, at javascript tæller månederne fra 0 til 11, så du i constructoren skal tage højde for det:

var idag = new Date(2006,1,6);// 6/2-2006 kl. 0:00:00 !-)

-- derfor er formatteringen i engelsk/amerikansk datoformat ganske udbredt ...

-- men det kunne f.eks. se sådan ud:

<script type="text/javascript">
var udloeb = new Date(2006,1,6,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += "sekund" ? secs!=1 ? "er" : "";
  var mins = Math.floor(tid/60)%60;
  mins += "minut" ? mins!=1 ? "er" : "";
  var hrs = Math.floor(tid/3600)%24;
  hrs += "time" ? hrs!=1 ? "r" : "";
  var dys = Math.floor(tid/86400);
  dys += "dag" ? dys!=1 ? "e" : "";
  document.getElementById("Ur").firstChild.nodeValue = dys + hrs + mins + secs;
}

window.onload = function(){
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>

-- og så skal diven fra start indeholde en tekstnode, f.eks.

<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede blach Nybegynder
10. marts 2006 - 22:26 #3
Hej roenving, og undskyld det sene svar:

Jeg får ikke noget ud af din kode! Dvs. den viser intet, og har bare kopieret den direkte ind i stedet for den anden:

<script type="text/javascript">
var udloeb = new Date(2006,1,6,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += "sekund" ? secs!=1 ? "er" : "";
  var mins = Math.floor(tid/60)%60;
  mins += "minut" ? mins!=1 ? "er" : "";
  var hrs = Math.floor(tid/3600)%24;
  hrs += "time" ? hrs!=1 ? "r" : "";
  var dys = Math.floor(tid/86400);
  dys += "dag" ? dys!=1 ? "e" : "";
  document.getElementById("Ur").firstChild.nodeValue = dys + hrs + mins + secs;
}

window.onload = function(){
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede blach Nybegynder
10. marts 2006 - 22:27 #4
Skal lige for en god ordens skyld sige, at jeg har denne kode i min boby:
<body onLoad="startclock()">
Avatar billede roenving Novice
11. marts 2006 - 00:09 #5
-- så overskriver du jo også forskellige funktioner med hinanden !-)

-- der må ikke være både en onload på body-tagget og en window.onload-blok i javascript ...
Avatar billede blach Nybegynder
11. marts 2006 - 22:41 #6
roenving
--> Kan stadig ikke få koden fra 06/02-2006 15:10:35 til at virke.
Har lagt det ind i et tomt html dokument, det virker stadig ikke..?
Avatar billede roenving Novice
19. marts 2006 - 12:54 #7
Hrm, et par tavetosser:

<script type="text/javascript">
var udloeb = new Date(2006,2,26,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter " : " ");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r " : " ");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e " : " ");
  document.getElementById("Ur").firstChild.nodeValue = dys + hrs + mins + secs;
}

window.onload = function(){
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede blach Nybegynder
03. april 2006 - 17:47 #8
Det ser fint ud :)
Hvad så hvis den skal skrive noget når tiden er udløbet?
Og jeg vil gerne have nogle <br> ind efter dys / hrs / mins
Avatar billede roenving Novice
03. april 2006 - 18:48 #9
-- så tilføjer du noget i stopClock-funktionen, f.eks.

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
  alert("tiden er udløbet");
}
Avatar billede roenving Novice
03. april 2006 - 18:52 #10
-- og velbekomme '-)
Avatar billede blach Nybegynder
04. april 2006 - 11:14 #11
Cool.. Hvad så hvis jeg har lyst til at breake den op i nogle <br>? Eller tilføje en font kode på f.eks. sekunder?

Før havde jeg jo denne, hvor jeg kunne tilføje html-koder:
Temp2='<b>'+Dayleft+' dag'+ds+'</b> '+Hourleft+' time'+hs+' - '+Minuteleft+' minut'+mis+' - '+Secondleft+' sekund'+ss;
Avatar billede blach Nybegynder
04. april 2006 - 16:59 #12
Skal bare lige have de hmtl-koder ind, så er det helt perfekt :)
Avatar billede roenving Novice
05. april 2006 - 21:35 #13
-- nu skriver jeg helt automatisk fremtidssikret kode, og så kan man ikke bare indsætte br-tags i tekststrengen, men skal gøre således:

I stedet for:

  document.getElementById("Ur").firstChild.nodeValue = dys + hrs + mins + secs;

-- bliver det så i stedet:

  var ur = document.getElementById("Ur");
  ur.childNodes.length = 0;
  ur.appendChild(document.createTextNode(dys));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(secs));

-- problematikken hænger sammen med en behandling af koden, der følger en egentlig xml-agtig måde at gøre det på, for så er indholdet af en element-node en række noder, og ikke noget tekst, der kan fortolkes som noder ...

-- hvis du er sikker på, at dine brugere både nu og i al fremtid vil benytte browsere, der er i stand til at afsætte ressourcer til at fortolke og behandle den slags indlysende basale fejl, kan du jo bare bruge .innerHTML i stedet for .firstChild.nodeValue, men som det måske fremgår, er det ikke noget, jag vil plædere for !-)

-- og f.eks. at sætte properties på enkelte af parametrene, vil f.eks. se således ud:

  var newSpan = document.createElement("span");
  newSpan.style = "font-weight:bold";
  newSpan.appendChild(document.createTextNode(secs));
  ur.appendChild(newSpan);

-- og det er absolut utestet !o]
  ur.appendChild
Avatar billede blach Nybegynder
10. april 2006 - 23:15 #14
>> Hvis jeg erstatter
document.getElementById("Ur").firstChild.nodeValue = dys + hrs + mins + secs;

>> med
  var ur = document.getElementById("Ur");
  ur.childNodes.length = 0;
  ur.appendChild(document.createTextNode(dys));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(secs));

>> Virker det ikke :( Den viser ingenting...
Avatar billede mclemens Nybegynder
10. april 2006 - 23:53 #15
<script type="text/javascript">
var udloeb = new Date(2006,3,26,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter " : " ");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r " : " ");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e " : " ");
  var ur = document.getElementById("Ur");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  ur.appendChild(document.createTextNode(dys));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(secs));



}

window.onload = function(){
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede mclemens Nybegynder
11. april 2006 - 00:02 #16
<script type="text/javascript">
var udloeb = new Date(2006,3,26,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}


function showTime(){
  newval= new Array();
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  newval[0] = tid%60;
  newval[0] += " sekund" + (newval[0]!=1 ? "er" : "");
  newval[1] = Math.floor(tid/60)%60;
  newval[1] += " minut" + (newval[1]!=1 ? "ter " : " ");
  newval[2] = Math.floor(tid/3600)%24;
  newval[2] += " time" + (newval[2]!=1 ? "r " : " ");
  newval[3] = Math.floor(tid/86400);
  newval[3] += " dag" + (newval[3]!=1 ? "e " : " ");
  var ur = document.getElementById("Ur");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  for(run=0;run<4;run++){
  ur.appendChild(document.createTextNode(newval[run]));
  ur.appendChild(document.createElement("br"));
  }

}

window.onload = function(){
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede mclemens Nybegynder
11. april 2006 - 00:05 #17
<script type="text/javascript">
var udloeb = new Date(2006,3,26,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}


function showTime(){
  newval= new Array();
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  newval[3] = tid%60;
  newval[3] += " sekund" + (newval[0]!=1 ? "er" : "");
  newval[2] = Math.floor(tid/60)%60;
  newval[2] += " minut" + (newval[1]!=1 ? "ter " : " ");
  newval[1] = Math.floor(tid/3600)%24;
  newval[1] += " time" + (newval[2]!=1 ? "r " : " ");
  newval[0] = Math.floor(tid/86400);
  newval[0] += " dag" + (newval[3]!=1 ? "e " : " ");
  var ur = document.getElementById("Ur");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  for(run=0;run<newval.length;run++){
  ur.appendChild(document.createTextNode(newval[run]));
  ur.appendChild(document.createElement("br"));
  }

}

window.onload = function(){
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede mclemens Nybegynder
11. april 2006 - 00:07 #18
Fik bare lige lyst til at lege lidt med :P
Avatar billede mclemens Nybegynder
11. april 2006 - 00:13 #19
Nu bliver jeg lidt nysgerrig...

Er det ikke bedre at deklarere variablen ur uden for funktionerne og herefter krydse variablen ur til objectet ur, når siden loades istedet for, at variablen ur bliver tildelt objectet ur hvert sekund - eller bruger det ikke resourcer, hvis ny variabel værdi og gammel er den samme? Undskyld dårlig formulering på mit spørgsmål... Ingen ur variabel i function showTime(){ men som her istedet...

var ur="";

window.onload = function(){
  ur = document.getElementById("Ur");
  showTime();
  timerID = setInterval("showTime()",1000);
}
Avatar billede mclemens Nybegynder
11. april 2006 - 00:15 #20
- det samme gælder selvfølgelig også for det at rykke det array jeg lavede ud af function showTime(){ og deklarere det ved siden af var ur udenfor funktionerne... Hvad er mest effektivt?
Avatar billede mclemens Nybegynder
11. april 2006 - 00:28 #21
edit: Ikke array defineringerne/tildelingerne men oprettelsen af selve array'et...
Avatar billede mclemens Nybegynder
11. april 2006 - 00:31 #22
var ur=""; udenfor funktionerne var overflødig i 11/04-2006 00:13:21
Avatar billede mclemens Nybegynder
11. april 2006 - 00:48 #23
Poster lige det jeg tænkte på...
- det er nok bedre end min formulering af spørgsmålet...
... er denne her mere effektiv (hurtigere end 11/04-2006 00:05:14) ?

<script type="text/javascript">
var udloeb = new Date(2006,3,26,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  newval[3] = tid%60 + " sekund" + (newval[0]!=1 ? "er" : "");
  newval[2] = Math.floor(tid/60)%60 + " minut" + (newval[1]!=1 ? "ter " : " ");
  newval[1] = Math.floor(tid/3600)%24 + " time" + (newval[2]!=1 ? "r " : " ");
  newval[0] = Math.floor(tid/86400) + " dag" + (newval[3]!=1 ? "e " : " ");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  for(run=0;run<newval.length;run++){
  ur.appendChild(document.createTextNode(newval[run]));
  ur.appendChild(document.createElement("br"));
  }
}

window.onload = function(){
  newval= new Array();
  ur = document.getElementById("Ur");
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede mclemens Nybegynder
11. april 2006 - 01:28 #24
Den var ihvertfald forkert!!!

Men er denne her så hurtige end 11/04-2006 00:05:14?
- når nu ur og array variablerne ikke skal deklareres hvert sekund?

<script type="text/javascript">
var udloeb = new Date(2006,3,26,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}


function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  newval[3] = tid%60;
  newval[3] += " sekund" + (newval[3]!=1 ? "er" : "");
  newval[2] = Math.floor(tid/60)%60;
  newval[2] += " minut" + (newval[2]!=1 ? "ter " : " ");
  newval[1] = Math.floor(tid/3600)%24;
  newval[1] += " time" + (newval[1]!=1 ? "r " : " ");
  newval[0] = Math.floor(tid/86400);
  newval[0] += " dag" + (newval[0]!=1 ? "e " : " ");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  for(run=0;run<newval.length;run++){
  ur.appendChild(document.createTextNode(newval[run]));
  ur.appendChild(document.createElement("br"));
  }

}

window.onload = function(){
  newval= new Array();
  ur = document.getElementById("Ur");
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede mclemens Nybegynder
11. april 2006 - 02:09 #25
Blach, undskyld jeg legede med at forkorte scriptet...
det var jo ikke det du skulle bruge :P Her (tror jeg nok) ;)

<script type="text/javascript">
var udloeb = new Date(2006,3,26,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter - " : " - ");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r - " : " - ");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e - " : " - ");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  tmpnode=document.createElement("b");
  tmpnode.appendChild(document.createTextNode(dys));
  ur.appendChild(tmpnode);
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createTextNode(secs));



}

window.onload = function(){
  ur = document.getElementById("Ur");
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede blach Nybegynder
11. april 2006 - 12:08 #26
Okay, det ser umiddelbart fint ud, har nedenstående kode. Men vil gerne have dage til at være uden fed, kan det lade sig gøre?


<script type="text/javascript">
var udloeb = new Date(2006,3,12,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
  document.getElementById("Ur").firstChild.nodeValue = "Tiden er udløbet";
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter" : "");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r" : "");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e" : "");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  tmpnode=document.createElement("b");
  tmpnode.appendChild(document.createTextNode(dys));
  ur.appendChild(tmpnode);
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(secs));

}

window.onload = function(){
  ur = document.getElementById("Ur");
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede mclemens Nybegynder
11. april 2006 - 12:45 #27
Sådan (11/04-2006 01:28:33 giver samme resultat hvis du retter udloeb og tilføjer
document.getElementById("Ur").firstChild.nodeValue = "Tiden er udløbet"; i stopClock'en ... dog er det sværere at lave ændringer i den end denne her)


<script type="text/javascript">
var udloeb = new Date(2006,3,12,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
  document.getElementById("Ur").firstChild.nodeValue = "Tiden er udløbet";
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter" : "");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r" : "");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e" : "");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  ur.appendChild(document.createTextNode(dys));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(secs));

}

window.onload = function(){
  ur = document.getElementById("Ur");
  showTime();
  timerID = setInterval("showTime()",1000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede blach Nybegynder
11. april 2006 - 15:12 #28
Perfekt, godt med noget hurtigt hjælp!
Vil du dele point med roenving?

Du smider ikke lige en lille kode, til et script som reloader siden f.eks. hvert 2. minut ? :)
Avatar billede roenving Novice
11. april 2006 - 16:43 #29
setTimeout("location.reload(true)",120000); !-)
Avatar billede mclemens Nybegynder
11. april 2006 - 22:29 #30
Vil du dele point med roenving?
- nej tak det er roenvings point...

... tak for tilbudet og fordi jeg måtte "lege" med :)
- træner min jsdom viden lidt og lytter efter og
ser efter hvad og hvordan roenving gør :)
Avatar billede roenving Novice
11. april 2006 - 22:41 #31
Velbekomme '-)
Avatar billede blach Nybegynder
12. april 2006 - 00:41 #32
Jamen det er da bare helt iorden, og tusinde tak for hjælpen begge 2!
Avatar billede mclemens Nybegynder
12. april 2006 - 00:56 #33
det var så lidt :)
Avatar billede roenving Novice
13. april 2006 - 17:50 #34
-- og tak for point ;~}
Avatar billede blach Nybegynder
13. april 2006 - 22:51 #35
Selv tak!

Måske I to Javascrit-experter kunne kigge ind i nedenstående spørgsmål også...
http://www.eksperten.dk/spm/702681
Avatar billede blach Nybegynder
18. april 2006 - 10:14 #36
setTimeout("location.reload(true)",120000);

Kan man ikke få den til at skrive en status i titlen, lige som denne kode: (koden virker ikke, med den countdown I har hjulpet med - den viser ikke countdown hvis jeg sætter den ind)


<script language="JavaScript">
<!--
//enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
var limit="2:00"

if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+" minut og "+cursec+" sekunder til automatisk opdatering..."
else
curtime=cursec+" sekunder til automatisk opdatering..."
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}

window.onload=beginrefresh
//-->
</script>
Avatar billede mclemens Nybegynder
18. april 2006 - 12:29 #37
sådan?

<script language="JavaScript">
var udloeb = new Date(2006,5,12,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
  window.status = "Tiden er udløbet";
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter" : "");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r" : "");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e" : "");
  window.status=dys+", "+hrs+" og "+secs;
}

window.onload = function(){
  showTime();
  timerID = setInterval("showTime()",1000);
  setTimeout("location.reload(true)",120000);
}
</script>
Avatar billede blach Nybegynder
18. april 2006 - 16:29 #38
Problemet er, at hvis jeg indsætter den kode du lige har sendt (eller den anden jeg postede) efter den anden kode som I hjalp med, så tæller den fint ned i browserens nederste linje - men nedtællingen på siden forsvinder :(
Avatar billede mclemens Nybegynder
18. april 2006 - 17:14 #39
nåh, ok begge dele ... to sekunder :P
Avatar billede mclemens Nybegynder
18. april 2006 - 17:16 #40
sådan?

<script type="text/javascript">
var udloeb = new Date(2006,5,12,15,42,1);
var timerID = 0;

function stopClock(){
  if(timerID>0)
    clearInterval(timerID);
  document.getElementById("Ur").firstChild.nodeValue = "Tiden er udløbet";
  window.status = "Tiden er udløbet";
}

function showTime(){
  var nu = new Date();
  var tid = Math.floor(( udloeb.getTime()-nu.getTime() )/1000);
  if(tid<0){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter" : "");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r" : "");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e" : "");
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  ur.appendChild(document.createTextNode(dys));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(secs));
  window.status=dys+", "+hrs+" og "+secs;
}

window.onload = function(){
  ur = document.getElementById("Ur");
  showTime();
  timerID = setInterval("showTime()",1000);
  setTimeout("location.reload(true)",120000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede blach Nybegynder
20. april 2006 - 22:29 #41
mclemens --> Tror desværre du misforstår mig lidt, er jeg ked af :/.. Altså tælleren på siden, som du hjalp med at udarbejde, skal være der hele tiden.
Oveni skal der i bunden af browseneren tælles ned til 2 min. og så skal siden reloades (altså er det 2 tider uafhængigt af hinanden).

Altså som denne:
setTimeout("location.reload(true)",120000);

Bare at den også skal skrive at den tæller ned i bunden - og mit problem var med det script jeg postede 10:14:14 at den "overskrev" den anden tæller, så den ikke blev vist.
Avatar billede mclemens Nybegynder
20. april 2006 - 22:44 #42
ahhhh(+aaaa)... 8)
Avatar billede mclemens Nybegynder
20. april 2006 - 23:01 #43
<script type="text/javascript">
var udloeb1 = new Date(2006,5,12,15,42,1);

var nu = new Date();
var udloeb2 = Math.floor(((nu.getTime() )/1000)+(60*2));


var timerID1 = 0;
var timerID2 = 0;

function stopClock(){
  if(timerID1>0)
    clearInterval(timerID1);
  document.getElementById("Ur").firstChild.nodeValue = "Tiden er udløbet";
}

function showTime(type){
  var nu = new Date();
  if(type==1)var tid = Math.floor(( udloeb1.getTime()-nu.getTime() )/1000);
  else var tid = udloeb2-Math.floor(nu.getTime()/1000);

  if((tid<0)&&(type==1)){
    stopClock();
    return;
  }
  var secs = tid%60;
  secs += " sekund" + (secs!=1 ? "er" : "");
  var mins = Math.floor(tid/60)%60;
  mins += " minut" + (mins!=1 ? "ter" : "");
  var hrs = Math.floor(tid/3600)%24;
  hrs += " time" + (hrs!=1 ? "r" : "");
  var dys = Math.floor(tid/86400);
  dys += " dag" + (dys!=1 ? "e" : "");
  if(type==1){
  while(0<ur.childNodes.length)ur.removeChild(ur.childNodes[0]);
  ur.appendChild(document.createTextNode(dys));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(hrs));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(mins));
  ur.appendChild(document.createElement("br"));
  ur.appendChild(document.createTextNode(secs));
  }else window.status=mins+" og "+secs+ " til opdatering...";
}

window.onload = function(){
  ur = document.getElementById("Ur");
  showTime(1);
  showTime(2);
  timerID1 = setInterval("showTime(1)",1000);
  timerID2 = setInterval("showTime(2)",1000);
  setTimeout("location.reload(true)",120000);
}
</script>
<div id="Ur" style="font-family: Verdana; font-size: 10px; text-align:center;">&nbsp;</div>
Avatar billede blach Nybegynder
25. april 2006 - 22:11 #44
Ja!! Det er helt perfekt :)
Avatar billede mclemens Nybegynder
25. april 2006 - 22:13 #45
super :)
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