Avatar billede popstar Nybegynder
23. september 2008 - 20:49 Der er 12 kommentarer og
1 løsning

Tilføjelse af antal år på countdown kode

Hej
Jeg har fundet denne kode på nettet, men jeg har brug for at tilføje antal år, så der står fx 1 år, 2 måneder, 45 dage...

hvem kan hjælpe?

<HTML>

<head>
    <TITLE>Countdown</TITLE>
   
    </HEAD>
    </DIV>
    <DIV align=left>Countdown: <layer id="countdownnssub" width=&{countdownwidth}; height=&{countdownheight}; left=0 top=0></layer>
        <font size="1" face="Arial"></font>
        </font>
        <p align="left">
      <font face="Arial"><font size="1">
      </ilayer>
        </font>
        <b><font size="1"><script language="JavaScript1.2">

function setcountdown(theyear,themonth,theday){
yr=theyear;mo=themonth;da=theday
}

//////////CONFIGURE THE COUNTDOWN SCRIPT HERE//////////////////

//STEP 1: Configure the countdown-to date, in the format year, month, day:
setcountdown(2009,12,24)

//STEP 2: Change the two text below to reflect the occasion, and message to display on that occasion, respectively
var occasion="product go live!"
var message_on_occasion="product!"

//STEP 3: Configure the below 5 variables to set the width, height, background color, and text style of the countdown area
var countdownwidth='500px'
var countdownheight='20px'
var countdownbgcolor='#FFFFFF'
var opentags='<font face="Verdana"><small>'
var closetags='</small></font>'

//////////DO NOT EDIT PASS THIS LINE//////////////////

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","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
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+"Occasion already passed! "+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+"Occasion already passed! "+closetags
return
}
//else, if not yet
else{
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+dday+ " days, "+dhour+" hours, "+dmin+" minutes og "+dsec+" seconds before "+occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+dday+ " days, "+dhour+" hours, "+dmin+" minutes and "+dsec+" seconds before "+occasion+closetags
}
setTimeout("countdown()",1000)
}
</script>

</BODY></font></font></HTML>
Avatar billede popstar Nybegynder
23. september 2008 - 20:51 #1
Rettelse: Der skal stå:

Der skal stå 1 år, 364 dage, 23 timer og ...
Avatar billede roenving Novice
24. september 2008 - 06:30 #2
Prøv at kigge på: http://roenving.users.whitehat.dk/date/roenvingDate.html ...

Kig evt. i http://www.eksperten.dk/spm/722312 for et simpelt eksempel !-)
Avatar billede popstar Nybegynder
24. september 2008 - 09:26 #3
Hej roenving

Jeg ville MEGET blot have en opdatering af min kode, da den skal ligge på Sharepoint og gider ikke igang med at have java filer liggende også...
Avatar billede roenving Novice
24. september 2008 - 09:35 #4
Den kode du viser var nogenlunde i orden for over 10 år siden, derfor har jeg tænkt i andre baner ...

-- den skal nemlig skrives fuldstændig om, for bare at være i nærheden af nutidig kode, et lille library kan vel ikke skade på en sharepoint-server ?-)
Avatar billede popstar Nybegynder
24. september 2008 - 09:47 #5
Hmmm... okey... jeg må prøve... men findes koden på engelsk, så jeg får vist countdown på engelsk?
Avatar billede popstar Nybegynder
24. september 2008 - 09:59 #6
Og jeg kan ikke bruge:
Der er 1 år, 1 måned, 30 dage, 14 timer, 1 minut, 18 sekunder tilbage til 24 November 2009 00:00:00

Der skal stå "There is 1 year, 1 month.... undtil product is finished!"
Avatar billede roenving Novice
24. september 2008 - 13:42 #7
Men hvis du kigger i dokumentationen kan du se, at du bare skal indlejre den engelske sprogfil, faktisk er mit lokale eksemplar fra ovennævnte tråd på engelsk, fordi jeg netop har den aktiv i dokumentet !-)

-- hvis du downloader pakken fra linket, får du netop en engelsk sprogfil med, som så også skal inkluderes i html-dokumentet !o]
Avatar billede popstar Nybegynder
24. september 2008 - 20:00 #8
Hmmm... hvis jeg benytter nedenstående kode får jeg fejl... og scriptet vil ikke kører... Jeg ændre roenvingDate.js til roenvingDate_en.js ! Benytter jeg bare roenvingDate.js er der ingen problemer...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Brug roenvingDate simpelt</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/722312">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script language="javascript" type="text/javascript">
var fastDato = new Date(2007,0,1);//1/1-2007, måned skal være en mindre !-)
function opdater(){
  document.getElementById("time").firstChild.nodeValue = fastDato.age(0,0,6,1);
}
window.onload = function(){
  opdater();
  document.getElementById("dato").firstChild.nodeValue = fastDato.format("");
  setInterval("opdater()",1000);
}
</script>
<script type="text/javascript" src="roenvingDate_en.js"></script>
</head>
<body>
Der er <span id="time">&nbsp;</span> tilbage til <span id="dato">&nbsp;</span>
</body>

</html>
Avatar billede popstar Nybegynder
24. september 2008 - 20:17 #9
Nevermind - nu er det løst med det engelske. MEN: Hvordan slipper jeg af med <span id="dato">

Altså: There is 2 years, 1 month, 30 days, 3 hours, 42 minutes, 56 seconds
till 24 November 2010 00:00:00
Avatar billede roenving Novice
24. september 2008 - 23:16 #10
Du kan ikke undvære et element, hvor du kan skrive resultatet til, men du kan godt sætte det ind på andre måder, så f.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Brug roenvingDate simpelt</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/722312">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script language="javascript" type="text/javascript">
var fastDato = new Date(2007,0,1);//1/1-2007, måned skal være en mindre !-)
function opdater(){
  document.getElementById("time").firstChild.nodeValue = fastDato.age(0,0,6,1);
}
window.onload = function(){
  opdater();
  //document.getElementById("dato").firstChild.nodeValue = fastDato.format("");
  setInterval("opdater()",1000);
}
</script>
<script type="text/javascript" src="roenvingDate.js"></script>
<script type="text/javascript" src="roenvingDate_en.js"></script>
</head>
<body>
There is <span id="time">&nbsp;</span> till November 24, 2009
</body>

</html>
Avatar billede popstar Nybegynder
02. oktober 2008 - 12:09 #11
roenving - Det virker!! - Send mig et svar, hvis du skal ha' point!
Avatar billede roenving Novice
02. oktober 2008 - 12:47 #12
Velbekomme '-)

-- så skulle fastDato-linjen jo nok være:

var fastDato = new Date(2009,10,24);//24/11-2009, måned skal være en mindre !-)

-- så kan den vel direkte gennemskues !o]
Avatar billede roenving Novice
08. oktober 2008 - 23:36 #13
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