login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mn klok telt tot 08, why? (Opgelost)

Offline Martijn - 21/12/2008 12:20
Avatar van MartijnCrew PHP Ik heb klokje gemaakt met JS. Ik helemaal blij dat t lukte, krijg ik een raar iets.

Ik wou namelijk dat ie ipv 1 tot 9 neer zet 01 tot 09 neerzet. Nu telt ie tot 08 en dan gaat ie weer naar 01, en ik snap m niet, iemand die t me kan vertellen? Als ik dus het deel comment die de 0 ervoor zet, werkt t weer wel

mn html divje:
  1. <div id="klok"> <?=date("H:i:s");?></div>


mn js:
  1. function klok(){
  2.  
  3. var tijdinfo = document.getElementById("klok").innerHTML.split(":");
  4. var deel=":";
  5. var secondes = parseInt(tijdinfo[2]);
  6. var minuten = parseInt(tijdinfo[1]);
  7. var uren= parseInt(tijdinfo[0]);
  8.  
  9. secondes=secondes+1;
  10.  
  11. if(secondes==60){secondes=0; minuten=minuten+1;}
  12. if(minuten==60){minuten=0;uren=uren+1;}
  13. if(uren==24){uren=0;}
  14.  
  15. secondes=secondes + "";
  16. minuten=minuten + "";
  17. uren=uren + "";
  18.  
  19. if(secondes.length==1){secondes = "0" + secondes;}
  20. if(minuten.length==1){minuten = "0" + minuten;}
  21. if(uren.length==1){uren = "0" + uren;}
  22.  
  23. document.getElementById("klok").innerHTML = uren + deel + minuten + deel + secondes;
  24. window.setTimeout(klok, 1000);
  25. }

17 antwoorden

Gesponsorde links
Offline nemesiskoen - 21/12/2008 12:35 (laatste wijziging 21/12/2008 12:36)
Avatar van nemesiskoen Gouden medaille

PHP expert
Ik zou hier eens naar kijken:
http://www.w3sc...ming_clock

Daar laten ze zien hoe je de tijd in javascript kan laten zien zonder vanalles na te kijken. De tijd is client side, niet server side.

Overigens begrijp ik niet echt wat je bedoeld met "hij telt tot 8", wanneer telt hij tot 8?
Offline Martijn - 21/12/2008 12:38 (laatste wijziging 21/12/2008 12:39)
Avatar van Martijn Crew PHP 12:37:01
12:37:02
12:37:03
12:37:04
12:37:05
12:37:06
12:37:07
12:37:08
12:37:01

en ik wil de klok juist serverside dan loopt die klok namelijk gelijk met mn server klok

edit: dat voorbeeld wat jij gaf doet volgens mij hetzelfde als ik doe, alleen geef ik m een phpwaarde ipv clientside tijd
Offline Koen - 21/12/2008 12:52
Avatar van Koen PHP expert
  1. function klok(){
  2.  
  3. var tijdinfo = document.getElementById("klok").innerHTML.split(":");
  4. var deel=":";
  5. var secondes = parseInt(tijdinfo[2]);
  6. var minuten = parseInt(tijdinfo[1]);
  7. var uren= parseInt(tijdinfo[0]);
  8.  
  9. secondes=secondes+1;
  10.  
  11. if(secondes==60){secondes=0; minuten=minuten+1;}
  12. if(minuten==60){minuten=0;uren=uren+1;}
  13. if(uren==24){uren=0;}
  14.  
  15. if(secondes < 10){secondes = "0" + secondes;}
  16. if(minuten < 10){minuten = "0" + minuten;}
  17. if(uren < 10){uren = "0" + uren;}
  18.  
  19. document.getElementById("klok").innerHTML = uren + deel + minuten + deel + secondes;
  20. window.setTimeout(klok, 1000);
  21. }


En zo?  
Offline junior - 21/12/2008 13:01 (laatste wijziging 21/12/2008 13:01)
Avatar van junior Lid Kwas mij ook net aan het afvragen wat dit stukje
  1. secondes=secondes + "";
  2. minuten=minuten + "";
  3. uren=uren + "";

eigenlijk doet..
Offline Martijn - 21/12/2008 13:53 (laatste wijziging 21/12/2008 13:56)
Avatar van Martijn Crew PHP dat stukje maakt van de int een string zodat ik er een 0 voor kan plakken. Zonder dat geen nul. Ik had dat van een ander script online

de functie parse deed niets
Offline junior - 21/12/2008 14:26 (laatste wijziging 21/12/2008 14:26)
Avatar van junior Lid Ahja ksnap het. Kende dit niet 
Heb je al getest of de uitwerking van sliphead het doet?
Offline Martijn - 21/12/2008 14:35 (laatste wijziging 23/12/2008 12:38)
Avatar van Martijn Crew PHP telt ook maar tot 8

als iemand die t ziet?
Offline BramBo - 23/12/2008 14:26 (laatste wijziging 23/12/2008 14:33)
Avatar van BramBo JS gevorderde Waarom niet het Date obj gebruiken?

  1. var klok = document.getElementById("klok");
  2. var date = new Date();
  3. date.setTime(Date.parse("Tue Dec 23 14:08:20 +0100 2008"));
  4.  
  5. clock();
  6. function clock() {
  7. date.setSeconds(date.getSeconds()+1);
  8. klok.innerHTML = ""+ date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
  9.  
  10. window.setTimeout(clock, 1000);
  11. }


edit: Paar typos.
Offline Martijn - 23/12/2008 14:56 (laatste wijziging 23/12/2008 15:01)
Avatar van Martijn Crew PHP Omdat ik graag wil dat ie met de servertijd meeloopt
En wat ik heb werkt ook wel, alleen niet met die 0 ervoor.

Is dr niet een functie in JS die maakt dat het minstens zoveel tekens lang is?

in php heet het in de database zerofill

edit: en je code werkt niet ik krijg "klok is null", heb er nog niet naar gekeken wat het is
Offline BramBo - 23/12/2008 16:32
Avatar van BramBo JS gevorderde met parse kun je de server time er ook in zetten. En neen er is geen Zerofill voor javascript..

server time met Date (in Ruby, moet je even de php variant opzoeken..):
  1. date.setTime(Date.parse(<%= Time.now %>));


wat betreft de zerofil, bekijk eens: http://www.code...ct=1190920 hier staat ook een manier om het zerofill probleem te takkelen.
Offline Dlol - 23/12/2008 18:44
Avatar van Dlol Lid Wat geeft dit:
  1. function klok(){
  2.  
  3. var tijdinfo = document.getElementById("klok").innerHTML.split(":");
  4. var deel=":";
  5. var secondes = parseInt(tijdinfo[2]);
  6. var minuten = parseInt(tijdinfo[1]);
  7. var uren= parseInt(tijdinfo[0]);
  8.  
  9. secondes=secondes+1;
  10.  
  11. if(secondes==60){secondes=0; minuten=minuten+1;}
  12. if(minuten==60){minuten=0;uren=uren+1;}
  13. if(uren==24){uren=0;}
  14.  
  15. var bsecondes=secondes + "";
  16. var bminuten=minuten + "";
  17. var buren=uren + "";
  18.  
  19. if(bsecondes.length==1){bsecondes = "0" + bsecondes;}
  20. if(bminuten.length==1){bminuten = "0" + bminuten;}
  21. if(buren.length==1){buren = "0" + buren;}
  22.  
  23. document.getElementById("klok").innerHTML = buren + deel + bminuten + deel + bsecondes;
  24. window.setTimeout(klok, 1000);
  25. }
?
Offline Martijn - 23/12/2008 19:06
Avatar van Martijn Crew PHP mooi loopje tot 0 8
Offline nemesiskoen - 23/12/2008 19:42 (laatste wijziging 26/12/2008 13:34)
Avatar van nemesiskoen Gouden medaille

PHP expert
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. var uur = HIER_LATEN_OPVULLEN_DOOR_PHP;
  5. var minuten = HIER_LATEN_OPVULLEN_DOOR_PHP;
  6. var seconden = HIER_LATEN_OPVULLEN_DOOR_PHP;
  7. var datum=new Date(null, null, null, uur , minuten , seconden );
  8.  
  9. function startTime()
  10. {
  11. datum.setSeconds(datum.getSeconds()+1);
  12. var h=datum.getHours();
  13. var m=datum.getMinutes();
  14. var s=datum.getSeconds();
  15. m=checkTime(m);
  16. s=checkTime(s);
  17. document.getElementById('txt').innerHTML=h+":"+m+":"+s;
  18. t=setTimeout('startTime()',1000);
  19. }
  20.  
  21. function checkTime(i)
  22. {
  23. if (i<10)
  24. {
  25. i="0" + i;
  26. }
  27. return i;
  28. }
  29. </script>
  30. </head>
  31.  
  32. <body onload="startTime()">
  33. <div id="txt"></div>
  34. </body>
  35. </html>


EDIT: ey c*ckburn ge moogt altijd zeggen dat het is gelukt of niet en hoe ge het hebt gedaan of ge hier hulp aan hebt gehad. Thanks for nothing ze!
Offline Martijn - 26/12/2008 14:03 (laatste wijziging 26/12/2008 14:06)
Avatar van Martijn Crew PHP het spijt me voor het hebben van een leven buiten SiMa. Dat ik hier online sta betekend niet dat ik persé hier ben.

en ja t werkt. Dankjewel.
Offline nemesiskoen - 26/12/2008 14:05
Avatar van nemesiskoen Gouden medaille

PHP expert
Ge kunt altijd ff'kes melden dat het is gelukt of niet. Daarvoor moet ge niet per sé uren online komen:D had trouwens niet eens gezien da ge online waart, maar figurred dat ge dit wel zou lezen. Een klein dankuwel of het is gelukt kan wonderen doen, dan wordt je de volgende keer ook beter geholpen. Volgende keer kan je de boom in klimmen voor mijn part:D
Offline Martijn - 26/12/2008 14:07 (laatste wijziging 26/12/2008 14:08)
Avatar van Martijn Crew PHP ik bedankt altijd de mensen die me geholpen hebben... Maar zoals ik zei, ik ben niet altijd hier. En ik ben niet altijd bezig met waar ik mn vraag voor stelde. Dus mssn had ik wel een momentje tijd om iets te antwoorden, dan was er nogsteeds geen tijd om het te hebben getest.

Niet alles is zoals men denkt dat het is hoor

edit: en de dankjewel in mn reply boven je was geplaatst voordat ik je reply erna zag.
Offline nemesiskoen - 26/12/2008 14:30
Avatar van nemesiskoen Gouden medaille

PHP expert
ok, no biggie:-)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s