Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Retro licznik do określonej daty problem z ,,efektem opadania'' i grafiką.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
spec8320
Witam.

Próbuje stworzyć licznik odliczający czas do pewnego wydarzenia opierający się na takim zegarku. Wzorowałem się na tym skrypcie:

  1. <script LANGUAGE="JAVASCRIPT">
  2. today = new
  3. Date();
  4. BigDay = new Date("January 1, 2001") //tutaj podajemy datę
  5. msPerDay = 24 * 60 * 60 * 1000 ;
  6. timeLeft = (BigDay.getTime() - today.getTime());
  7. e_daysLeft = timeLeft / msPerDay;
  8. daysLeft = Math.floor(e_daysLeft);
  9. tdays = Math.floor(e_daysLeft);
  10. e_hrsLeft = (e_daysLeft - daysLeft)*24;
  11. hrsLeft = Math.floor(e_hrsLeft);
  12. minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60);
  13. var id,pause=0,position=0;
  14. function imascroller() {
  15. // variables declaration
  16. var i,k,msg="Zostało " +daysLeft+" dni, "+hrsLeft+" godzin(y) i "+minsLeft+" minut(y) do czegośtam! ";
  17.  
  18. // increase msg
  19. k=(150/msg.length)+1;
  20. for(i=0;i<=k;i++) msg+=" "+msg;
  21. // show it to the window
  22.  
  23. document.form2.imascroller.value=msg.substring(position,position+300);
  24. // set new position
  25. if(position++==300) position=0;
  26. // repeat at entered speed
  27. id=setTimeout("imascroller()",200); }
  28. // -- End Hiding Here -->


W body:

  1. <form name="form2">
  2. <input type="text" name="imascroller" size="60" value="">
  3. </form>
  4. <script language=javascript1.1>
  5. timerID = setTimeout("location.reload()",60000)
  6. <script language=javascript>
  7. timerID = setTimeout("history.go(0)",60000)


Próbując go połączyć z innym licznikiem (wejść na strone który miał już, że tak powiem wsparcie graficzne):

  1. <?php
  2. // En: Begin PHP Code / Fr: Debut code PHP
  3. /******************************************************************************\
  4. * Digital Access Counter Version 1.0 *
  5. * Copyright 2000 Frederic TYNDIUK (FTLS) All Rights Reserved. *
  6. * E-Mail: tyndiuk@ftls.org Script License: GPL *
  7. * Created 02/28/2000 Last Modified 02/28/2000 *
  8. * Scripts Archive at: <a href="http://www.ftls.org/php/" target="_blank">http://www.ftls.org/php/</a> *
  9. *******************************************************************************/
  10. // Necessary Variables:
  11.  
  12. $COUNT_FILE = "count_data.txt";
  13. // En: Absolute path and name to count data file.
  14. // Fr: Chemin absolu (complet) et Nom du fichier compteur.
  15.  
  16. $IMG_DIR_URL = "./digits/";
  17. // En: URL Directory of digits (0.gif ... 9.gif).
  18. // Fr: URL du repertoire des images (0.gif ... 9.gif).
  19.  
  20. $NB_DIGITS = 8;
  21. // En: Minimum number of digits to display (0, to not use 0 left).
  22. // Fr: Nombre minimum de chiffre ŕ afficher (0 pour ne pas avoir de 0 devant).
  23.  
  24. // End Necessary Variables section
  25. /******************************************************************************/
  26.  
  27. if (file_exists($COUNT_FILE)) {
  28. // En: Open, read, increment, save and close file.
  29. // Fr: Ouvre, lit, incrémente, sauve et ferme le fichier.
  30. $fp = fopen("$COUNT_FILE", "r+");
  31. flock($fp, 1);
  32. $count = fgets($fp, 4096);
  33. $count += 1;
  34. fseek($fp,0);
  35. fputs($fp, $count);
  36. flock($fp, 3);
  37. fclose($fp);
  38. } else {
  39. // En: Display a error message if file does not exist.
  40. // Fr: Affiche un message d'erreur si le fichier n'existe pas.
  41. echo "Can't find file, check '\$file' var...<BR>";
  42. }
  43.  
  44. // En: Display count value
  45. // Fr: Affiche le nombre de visiteur.
  46.  
  47. chop($count);
  48. $nb_digits = max(strlen($count), $NB_DIGITS);
  49. $count = substr("0000000000".$count, -$nb_digits);
  50.  
  51. $digits = preg_split("//", $count);
  52.  
  53. for($i = 0; $i <= $nb_digits; $i++) {
  54. if ($digits[$i] != "") {
  55. $html_result .= "<IMG SRC=\"$IMG_DIR_URL$digits[$i].gif\">";
  56. }
  57. }
  58. // En: End PHP code / Fr: Fin du code PHP
  59. ?>


Jednak z połączenia Javy i PHP nie wyszło nic dobrego stąd muszę prosić was o pomoc. Dodatkowo macie może jakąś rade lub możliwość do rozwiązania mojego problemu z ty ,,opadaniem'' tych cyfr próbowałem to zrobić jakoś w gif ale dalej zabrakło pomysłu. Możę najlepiej odwzoruje efekt ten filmik na youtube:

http://www.youtube.com/watch?v=Kg2YQn66wMg

cała ,,akcja'' zaczyna się od 27 do 33 sek.
devnul
Cytat
ednak z połączenia Javy i PHP nie wyszło nic dobrego stąd muszę prosić was o pomoc. Dodatkowo macie może jakąś rade lub możliwość do rozwiązania mojego problemu z ty ,,opadaniem'' tych cyfr próbowałem to zrobić jakoś w gif ale dalej zabrakło pomysłu.

nie java tylko javascript to są dwie różne rzeczy - przy pomocy apletu javy dało by się to zrobić bez większych problemów. pomysł z gifem może i zły nie jest ale miałbys kłopoty z sybchronizacją prawdopodobnie więc odradzam. jeśli zalezy Ci na prostym rozwiązaniu to polecam skorzystać z canvas lub flasha
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.