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 ...
<form name="count"> <input type="text" size="69" name="count2"> </form> <script> //change the text below to reflect your own, var before="Year 3000!" var current="Today is Year 3000!" var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") function countdown(yr,m,d){ theyear=yr;themonth=m;theday=d var today=new Date() var todayy=today.getYear() if (todayy < 1000) todayy+=1900 var todaym=today.getMonth() var todayd=today.getDate() var todayh=today.getHours() var todaymin=today.getMinutes() var todaysec=today.getSeconds() var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec futurestring=montharray[m-1]+" "+d+", "+yr dd=Date.parse(futurestring)-Date.parse(todaystring) dday=Math.floor(dd/(60*60*1000*24)*1) dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1) dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1) dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1) if(dday==0&&dhour==0&&dmin==0&&dsec==1){ document.forms.count.count2.value=current return } else document.forms.count.count2.value=dday+ " days, "+dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds left until "+before setTimeout("countdown(theyear,themonth,theday)",1000 } //enter the count down date using the format year/month/day countdown(3000,1,1)ZAASASASSASacadsdcd </script>
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