Avatar billede __ak Nybegynder
04. december 2008 - 11:47 Der er 8 kommentarer og
1 løsning

Javascript countdown

Hello kinda fellas kinda folks

Nu har jeg brugt nogle timer på at finde en ordentlig javascript countdown, som live tæller ned til en given dato.
XX år XX måneder XX dage XX timer XX minutter XX sekunder.

Jeg har ikke kunnet finde nogle ordentlige som talte rigtigt osv.
Er der nogen herinde der har nogle gode erfaringer med nogle countdowns?
Jeg kan selv javascript, så jeg kan rette de fleste scripts til, hvis der er nogle der ikke helt opfylder mine krav.

//__ak
Avatar billede klaudi Ekspert
04. december 2008 - 19:04 #1
Avatar billede klaudi Ekspert
04. december 2008 - 19:41 #2
Da det snart er jul, nedtæl til 24-12
<SCRIPT language=JavaScript>
<!--
var now  = new Date();
var birthd = new Date("dec 24, 2008");
var toGo = birthd.getTime() - now.getTime();
var days = Math.floor(toGo / (1000 * 60 * 60 * 24));

if (days < 0)
    document.write("Jul lige <u>nu</u>!!");

else if (days < 1)
    document.write("Jul i morgen.")

else
    document.write("Jul om <u>" + days + "</u> dage.")
//-->

</SCRIPT>

:)
Avatar billede mr2wear Nybegynder
10. december 2008 - 17:50 #3
klaudi2k8 - hvordan udvider du den med timer og minutter?

Tak! og god jul ;)
Avatar billede klaudi Ekspert
10. december 2008 - 20:33 #4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<!-- Minus AutoDato -->
    <TITLE>Nedtæl til jul</TITLE>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#FFFFFF">

<CENTER>
<SCRIPT LANGUAGE="JavaScript1.2">
function setcountdown(theyear,themonth,theday,thehour,themin,thesec){
yr=theyear;mo=themonth;da=theday;hr=thehour;min=themin;sec=thesec
}

//////////Bewerk  het aftelscript hier//////////////////

//STEP 1: her skrives datoen som skal tælles ned til, i formatet  year, month, day, hour(0=midnight,23=11pm), minutes, seconds:
setcountdown(2008,12,24,00,00,00)

//STEP 2: her kan du skrive en besked om hvad der tælles ned til
var occasion=".....det er Juleaften.. "
var message_on_occasion="*** GLÆDELIG JUL ***"

//STEP 3: Her kan du indstille udseendet, på countdown arealet, bredde, højde, baggrunds farve, og skrifttype
var countdownwidth='640px'
var countdownheight='35px'
var countdownbgcolor='blue'
var opentags='<font face="Verdana" color="#FFFFFF"><small>'
var closetags='</small></font>'

//////////her skal IKKE ændres noget//////////////////

var montharray=new Array("Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec")
var crosscount=''

function start_countdown(){
if (document.layers)
document.countdownnsmain.visibility="show"
else if (document.all||document.getElementById)
crosscount=document.getElementById&&!document.all?document.getElementById("countdownie") : countdownie
countdown()
}

if (document.all||document.getElementById)
document.write('<span id="countdownie" style="width:'+countdownwidth+'; background-color:'+countdownbgcolor+'"></span>')

window.onload=start_countdown


function countdown(){
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[mo-1]+" "+da+", "+yr+" "+hr+":"+min+":"+sec
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
//if on day of occasion
if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1&&todayd==da){
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+message_on_occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+message_on_occasion+closetags
return
}
//if passed day of occasion
else if (dday<=-1){
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+"For sent hændelse er overstået! "+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+"For sent hændelse er overstået! "+closetags
return
}
//else, if not yet
else{
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+dday+ " dage, "+dhour+" timer, "+dmin+" minutter, og "+dsec+" sekunder tilbage til "+occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+dday+ " dage, "+dhour+" timer, "+dmin+" minutter, og "+dsec+" sekunder tilbage til "+occasion+closetags
}
setTimeout("countdown()",1000)
}
</SCRIPT>

<ILAYER ID="countdownnsmain" WIDTH="&amp;{countdownwidth};" HEIGHT="&amp;{countdownheight};" BGCOLOR="&amp;{countdownbgcolor};" VISIBILITY="hide">
<LAYER ID="countdownnssub" WIDTH="&amp;{countdownwidth};" HEIGHT="&amp;{countdownheight};" LEFT="0" TOP="0"></LAYER></ILAYER></FONT>
</CENTER>


</BODY>
</HTML>

prøv denne og god jul

mvh klaudi
Avatar billede klaudi Ekspert
10. december 2008 - 21:46 #5
En mere

<HTML>
<HEAD>
<TITLE>Nedtælling til jul</TITLE>
</HEAD>
<BODY>

<CENTER>
<SPAN ID=c1 STYLE="FONT: bold 24px verdana; COLOR: blue"></SPAN>
<BR>
<SPAN ID=c2 STYLE="FONT: bold 22px verdana; COLOR: red">;</SPAN>
<BR><BR>
<FONT SIZE="2" FACE="Verdana">..til den 24 December 2008</FONT>
</CENTER>

<SCRIPT TYPE="text/javascript">
// her skrives datoen der skal tælles ned til normalt er GTM+2 GMT+1
var end = new Date("December 24, 2008 00:00:00 GMT+1");
function toSt2(n) {
  s = "";
  if (n < 10) s += "0";
  return (s + n).toString();
}
function toSt3(n) {
  s = "";
  if (n < 10) s += "00";
  else if (n < 100) s += "0";
  return (s + n).toString();
}
function countdown() {
  d = new Date();
  count = Math.floor(end.getTime() - d.getTime());
  if(count > 0) {
    miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
    seconds = toSt2(count%60); count = Math.floor(count/60);
    minutes = toSt2(count%60); count = Math.floor(count/60);
    hours = toSt2(count%24); count = Math.floor(count/24);
    days = count;
    c1.innerText = days + ' Dage';
    c2.innerText = hours + ':' + minutes + ':' + seconds + '.' + miliseconds + '';
    setTimeout("countdown()", 50);
  }
}
window.onload=countdown;
</SCRIPT>

</BODY>
</HTML>

mvh klaudi
Avatar billede mr2wear Nybegynder
10. december 2008 - 22:09 #6
Tak Klaudi! :)
Avatar billede olebole Juniormester
11. december 2008 - 10:20 #7
Avatar billede __ak Nybegynder
12. december 2008 - 11:07 #8
jeg brugte dit sidste svar klaudi2k8, så hvis du lægger et svar får du nogle points :-)

Det krævede lidt små rettelser, her er det jeg kom frem til:
------------------------------
<html>
<head>
<script type="text/javascript">
var end = new Date("September 4, 2009 15:00:00 GMT+1");
function toSt2(n) {
    s = "";
    if (n < 10) s += "0";
    return (s + n).toString();
}
function countdown() {
    d = new Date();
    count = Math.floor(end.getTime() - d.getTime());
    if(count > 0) {
        count = Math.floor(count/1000);
        seconds = toSt2(count%60); count = Math.floor(count/60);
        minutes = toSt2(count%60); count = Math.floor(count/60);
        hours = toSt2(count%24); count = Math.floor(count/24);
        days = count;
        document.getElementById('timeDisplay').innerHTML = days + ' dage, '+ hours + ' timer, ' + minutes + ' min. ' + seconds + ' sek.';
        setTimeout("countdown()", 1000);
    }
}
window.onload=countdown;
</script>
</head>
<body>
Tid indtil 4. September 2009 kl. 15:00
<div id="timeDisplay"></div>
</body>
</html>
-------------------------------
Avatar billede klaudi Ekspert
12. december 2008 - 13:35 #9
Ok :-)
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

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