Witam!
Napisałem sobie skrypt w js, który odmierza czas i gdy jest mniejszy od 0 to wypisuje "Aukcja zakończona", a jak jest większy to odlicza i wyświetla obrazek tokena. Wystąpił jeden problem. Obrazek tokena jest ciągle odświeżany. Jest to pewnie spowodowane odświeżaniem zegara, który ma ustawione 1000 ms.

Czytałem coś o funkcji return false, która niby ma zatrzymywać ciągłe odświeżanie tego obrazka, lecz ja nie zbyt umiem chyba ją zastosować, bo mi wtedy wogóle tego obrazka nie wyświetla. Poniżej zamieszczam mój kod tokena + js odliczającego czas.

Proszę was o szybką pomoc ohno-smiley.gif

  1. <?php
  2. for($i=0;$i<5;$i++) {
  3. $liczba = rand(0,9);
  4. $_SESSION['token'] .= $liczba;
  5. $img .= '<img src="'.$liczba.'.gif" />';
  6. }
  7. ?>
  8.  
  9. <br>
  10. <div id="okno" style="text-align:center;"></div>
  11. <script language="javascript" type="text/javascript">
  12. <!--
  13. var img = '<?= $img ?>';
  14. function zegar() {
  15. teraz = new Date().getTime();
  16. dzien = new Date(2011,03,26,23,00,0).getTime();
  17.  
  18. // wyliczanie roznicy
  19. sekund = Math.abs((teraz-dzien)/1000);
  20. minut = Math.floor(sekund/60);
  21. godzin = Math.floor(minut/60);
  22. dni = Math.floor(godzin/24);
  23. lat = Math.floor(dni/365);
  24.  
  25. // wyliczanie calego okresu
  26. sekund = Math.floor(sekund-minut*60);
  27. minut = Math.floor(minut-godzin*60);
  28. godzin = Math.floor(godzin-dni*24);
  29. dni = Math.floor(dni-lat*365);
  30.  
  31. roznica=""+godzin+
  32. ":"+((minut<10)?"0":"")+minut+
  33. ":"+((sekund<10)?"0":"")+sekund;
  34. document.getElementById("okno").innerHTML =
  35. ""+roznica;
  36.  
  37. if (teraz<dzien) {
  38. setTimeout("zegar()",1000);
  39. document.write(img);
  40. } else {
  41. document.getElementById("okno").innerHTML = "Aukcja zakończona!";
  42. }
  43. }
  44. zegar();
  45. // -->
  46. </script>