Avatar billede thomas_b Nybegynder
25. oktober 2004 - 20:05 Der er 12 kommentarer og
1 løsning

Nedtælling til hver 2. torsdag

Hej eksperter...

Jeg kunne gerne tinke mig en funktion med nedtælling til hver 2. torsdag - hvor der står en tekst til hver af de to !

F.eks.:
Torsdag d. 28 okt. 2004 - Fridag...
Torsdag d. 11 nov. 2004 - Arbejde denne dag!
Torsdag d. 25 nov. 2004 - Fridag...
Torsdag d. 9 dec. 2004 - Arbejde denne dag!

På forhånd tak...
Avatar billede roenving Novice
25. oktober 2004 - 20:28 #1
Hvordan nedtælling ?-)

Skal du have et felt, som tæller ned, eller vil du bare have vist, at nu er der 8 dage til, 7 dage til osv.
Avatar billede thomas_b Nybegynder
25. oktober 2004 - 20:33 #2
ikke nogle felter, kun f.eks. 7 dage 4 timer og 34 sek. og efter et sek. skrifter den til 7 dage 4 timer og 33 sek. - kan dette lade sig gøre ?
Avatar billede roenving Novice
25. oktober 2004 - 20:36 #3
Ja, men så skal du have gang i noget client-side scripting !-)

-- du kan prøve at se, om det ligner noget af det, du ønsker ved at kigge på: http://roenving.users.whitehat.dk/date/roenvingDate.html

-- hvis du prøver at skrive en ny dato i reference-feltet vil du se, at op- eller nedtællingen bliver i forhold til den dato, du skriver ...
Avatar billede roenving Novice
25. oktober 2004 - 20:38 #4
Hvis du f.eks. skriver: 2004,9,28,15,0,0 vil den vise hvor lang tid, der er til på torsdag kl. 15 !-)
Avatar billede thomas_b Nybegynder
25. oktober 2004 - 20:40 #5
Har ikke rigtig den store forstand på det, kan du hjælpe mig med en kode...?
Avatar billede thomas_b Nybegynder
25. oktober 2004 - 21:16 #6
takker, men ikke lige det jeg søgte efter....!
Avatar billede roenving Novice
25. oktober 2004 - 21:45 #7
Tjah, det må du jo selv om, men hvis du downloader roenvingDate.js (linket nederst på siden !-), kan du prøve denne her:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tæl til hver anden torsdag</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/554421">
<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 txt,dato;
var time = 15;/*her sætter du arbejdets start-tidspunkt*/
var minut = 0;/*Hvis det ikke er et helt klokkeslet, sætter du minutter her*/
function startTael(){
  dato = new Date();
  var uge = dato.getWeek(),dag = dato.getDay(),nutid = dato.getHours(),idag = new Date();
  dato = dato.dateDiff('set',0,0,((uge/2 != Math.floor(uge/2))?7:0)+4-idag.getDay());
  dato.setHours(time);
  dato.setMinutes(minut);
  dato.setSeconds(0);
  dato.setMilliseconds(0);
  if(idag.getTime()>dato.getTime())
    dato = dato.dateDiff('set',0,0,14);
  uge = dato.getWeek();
  if(uge/4 == Math.floor(uge/4))
    txt = "Fridag...";
  else
    txt ="Arbejde denne dag!";
  //alert(dato);
  visTael();
  setInterval('visTael()',1000)
}
function visTael(){
  var text = dato.age(0,0,6),fundet=false,t="";
  //alert(text);
  text = text.split(", ");
  for(i=0;text.length>i;i++){
    if(parseInt(text[i])!=0||fundet){
      t += ", " + text[i];
      fundet = true;
    }
  }
  document.getElementById('Arbejde').innerHTML = 'Så er der ' + t.substring(2) + " til: " + txt;
}
window.onload=startTael;
</script>

<script language="javascript" type="text/javascript" src="../Udvikling/roenvingDate.js"></script>

</head>

<body>
<span id="Arbejde">En span-tekst</span>

</body>

</html>
Avatar billede thomas_b Nybegynder
25. oktober 2004 - 22:24 #8
Hvad hvis den først skal starte fra d. 14 med "Fridag..."
Avatar billede roenving Novice
25. oktober 2004 - 22:32 #9
-- nu lavede jeg den bare, så den passede med de datoer, du angav foroven, og der kunne jeg finde en simpel måde, fordi ugenummeret i denne uge er 44, hvilket vil sige, at d. 28/10 er en uge, som 4 går op i, altså er hver 14. dag lige ugenumre, og fradagene ligger så i de uger, hvor 4 går op ...

-- men det den gør, er at tage den næstfølgende torsdag i en lige uge, så hvis det f.eks. er kl. 15, som der umiddelbart står i koden, vil den kl. 15:00:00:001 gå over til at vise torsdagen om 14 dage, der har noget !-)

-- så hvis den 28. er en arbejdsdag skal du bare bytte om på disse linjer med txt:

  if(uge/4 == Math.floor(uge/4))
    txt = "Fridag...";
  else
    txt ="Arbejde denne dag!";
Avatar billede thomas_b Nybegynder
25. oktober 2004 - 22:56 #10
Den skal indstilles således - jeg kan slet ikke finde ud af det...

den 7/10 skal være Arbejdsdag
den 21/10 skal være Fridag
den 4/11 skal være Arbejdsdag
den 18/11 skal være Fridag
Avatar billede roenving Novice
26. oktober 2004 - 00:41 #11
Den 7. og 21. oktober er jo overstået ...
Avatar billede thomas_b Nybegynder
26. oktober 2004 - 21:39 #12
ja men rsten... - hvordan ser scriptet så ud...!
Avatar billede roenving Novice
26. oktober 2004 - 21:56 #13
Kun den del af scriptet, som starter (resten skal ikke ændres !-)

function startTael(){
  dato = new Date();
  var uge = dato.getWeek(),dag = dato.getDay(),nutid = dato.getHours(),idag = new Date();
  dato = dato.dateDiff('set',0,0,((uge/2 != Math.floor(uge/2))?0:7)+4-idag.getDay());
  dato.setHours(time);
  dato.setMinutes(minut);
  dato.setSeconds(0);
  dato.setMilliseconds(0);
  if(idag.getTime()>dato.getTime())
    dato = dato.dateDiff('set',0,0,14);
  uge = dato.getWeek();
  if(uge%4 == 3)
    txt = "Fridag...";
  else
    txt ="Arbejde denne dag!";
  //alert(dato);
  visTael();
  setInterval('visTael()',1000)
}
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
Kurser inden for grundlæggende programmering

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