Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] problem z setTimeout
Qcumbeer
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (0%)
-----


Siema, chcialem stworzyc prosty skrypt ktory odliczalby do weekendu (IMG:style_emoticons/default/winksmiley.jpg) Niestety nie działa tak jak bym tego chciał -.- Wydaje mi sie ze problem jest z funkcja setTimeout ktora wg. mnie powinna wlaczac funkcje czas od nowa (czyli w sumie cały skrypt) po upływie 1s.
Tutaj kod:

  1.  
  2. <script LANGUAGE="JavaScript">
  3. <!--
  4.  
  5. function czas(){
  6.  
  7. now = new Date()
  8. var godz = now.getHours();
  9. var min = now.getMinutes();
  10. var sec = now.getSeconds();
  11. document.write("<center><br><br>")
  12.  
  13. if (now.getDay() == 5)
  14. document.write("NIE<br><br>Pozostało:<br>" + Math.floor(23 - godz) + " godzin " + Math.floor(59 - min) + " minut " + Math.floor(59 - sec) + " sekund")
  15.  
  16. if (now.getDay() == 6)
  17. document.write("<b>TAK!</b>")
  18.  
  19. if (now.getDay() == 0)
  20. document.write("<b>TAK!</b>")
  21.  
  22. if (now.getDay() == 1)
  23. document.write("<b>NIE</b><br><br>Pozostało:<br>" + Math.floor(119 - godz) + " godzin " + Math.floor(59 - min) + " minut " + Math.floor(59 - sec) + " sekund")
  24.  
  25. if (now.getDay() == 2)
  26. document.write("<b>NIE</b><br><br>Pozostało:<br>" + Math.floor(95 - godz) + " godzin " + Math.floor(59 - min) + " minut " + Math.floor(59 - sec) + " sekund")
  27.  
  28. if (now.getDay() == 3)
  29. document.write("<b>NIE</b><br><br>Pozostało:<br>" + Math.floor(71 - godz) + " godzin " + Math.floor(59 - min) + " minut " + Math.floor(59 - sec) + " sekund")
  30.  
  31. if (now.getDay() == 4)
  32. document.write("<b>NIE</b><br><br>Pozostało:<br>" + Math.floor(47 - godz) + " godzin " + Math.floor(59 - min) + " minut " + Math.floor(59 - sec) + " sekund ")
  33.  
  34. document.write("</center>")
  35. setTimeout('czas()',1000);
  36.  
  37. }
  38.  
  39. onload=function(){czas();}
  40.  
  41. //-->
  42.  
  43. </body>
  44. </html


Mam nadzieje ze ktos mi powie co jest nie tak (IMG:style_emoticons/default/smile.gif) (Dzisiaj jest niedziela i skrypt wyswietla "TAK", problem jest gdy powinien odliczac wiec przestawcie sobie date w windowsie na np. wtorek i zobaczycie o co kaman).
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Qcumbeer
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.03.2010

Ostrzeżenie: (0%)
-----


hehe no troche mnie pocieszyles (IMG:style_emoticons/default/tongue.gif) no wlasnie nie moge zrozumieć dlaczego w tym skrypcie to działa! \/

  1. <script type="text/javascript">
  2. function CD(d,o,t,x){return[x=~~(t=(d-o)/864e5),x=~~(t=(t-x)*24), x=~~(t=(t-x)*60),~~((t-x)*60)]}
  3. function R(t){
  4. t=CD(new Date(2010,03,31,17,00,00),new Date());
  5. document.getElementById('costam').innerHTML='<center><b>Event<br>za:</b><br>'+t[0]+" dni, "+t[1]+" h, "+t[2]+" min, "+t[3]+"s"+"</center>";
  6. if((!t[0]&&!t[1]&&!t[2]&&!t[3]) || (t[0] <= 0 && t[1] <= 0 && t[2] <= 0 && t[3] <= 0))
  7. document.getElementById('costam').innerHTML='Dzisiaj jest<br><br>Event!';
  8. else
  9. setTimeout('R()',1e3);
  10. }
  11.  
  12. onload=function(){R();}
  13.  
  14.  
  15. <div id="costam"></div>
  16. </body>
  17. </html>



tylko ze ten odlicza do danej daty (i zle liczy dni) a ja hce zeby odliczal do powiedzmy piatku 18:00, od piatku 18:00 do niedzieli 24:00 byl komunikat ze jest weekend a potem od poniedzialku dalej odliczal do piatku 18:00,

na prawde nikt nie wie co jest z tym nie tak? nikt nie pomoze?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 10:51