Witam,

W sieci znalazłem ciekawy licznik i chciałem go zastosować na stronie. Niestety skrypt nie do końca spełnia moje oczekiwania. Chciałbym go wykorzystać dla kilku elementów pobierając datę z MySQL i podając parametry do funkcji pokaż odliczanie. Posiadając skrypt poniżej oczywiście mógłbym go wklejać w nieskończoność i przekazywać parametry daty jednak podtrzebuję bardzieje elegancjkiej formy. Więcej informacji pod kodem ...


  1. <form name="count">
  2. <input type="text" size="69" name="count2">
  3. </form>
  4.  
  5.  
  6.  
  7. //change the text below to reflect your own,
  8. var before="Year 3000!"
  9. var current="Today is Year 3000!"
  10. var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
  11.  
  12. function countdown(yr,m,d){
  13. theyear=yr;themonth=m;theday=d
  14. var today=new Date()
  15. var todayy=today.getYear()
  16. if (todayy < 1000)
  17. todayy+=1900
  18. var todaym=today.getMonth()
  19. var todayd=today.getDate()
  20. var todayh=today.getHours()
  21. var todaymin=today.getMinutes()
  22. var todaysec=today.getSeconds()
  23. var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
  24. futurestring=montharray[m-1]+" "+d+", "+yr
  25. dd=Date.parse(futurestring)-Date.parse(todaystring)
  26. dday=Math.floor(dd/(60*60*1000*24)*1)
  27. dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
  28. dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
  29. dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
  30. if(dday==0&&dhour==0&&dmin==0&&dsec==1){
  31. document.forms.count.count2.value=current
  32. return
  33. }
  34. else
  35. document.forms.count.count2.value=dday+ " days, "+dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds left until "+before
  36. setTimeout("countdown(theyear,themonth,theday)",1000
  37. }
  38. //enter the count down date using the format year/month/day
  39. countdown(3000,1,1)ZAASASASSASacadsdcd



Chciałbym skrypt umieścić w osobnym pliku i odwoływać się do niego poprzez funkcję. Porzykład:

plik: index.php
...
<head>
<script type="text/javascript" src="js/licznik.js"></script>
</head>
...

plik: produkty.php
...
Produkt 1
<p class="clock" onLoad="countdown($dzien,$godzina,$minuta,$sekunda);"></p>
...
Produkt 1
<p class="clock" onLoad="countdown($dzien,$godzina,$minuta,$sekunda);"></p>
...

Niestety nigdy nie miałem okazji zgłębiać składni JS. W chwili obecnej brakuje mi na to czasu.


Proszę zatem o wskazówki do rozwiązania sytuacji. Wiem, że w skrypcie zamieszczonym na początku wywołanie następuje poprzez wskazanie miejsca za pomocą name="count2". Nie chę tak. Chcę wywoływać sobie funkcję z parametrami w dowolnie wybranym miejscu. Pojawia się pytanie czy onLoad działą w bloku <p> czy tylko w <body> i <div>?

Czekam na wasze komentarze. Pozdrawiam