Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wiele uruchomień funkcji
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
MrGohut
Mam obecnie to:
  1. <script type="text/javascript">
  2. function F(element, data){
  3. ;(function(sec){
  4. sec=(data-new Date())/1000;
  5. element.innerHTML=~~(sec/(3600*24))+' dni '+~~(sec/3600)%24+' godzin '+~~(sec/60)%60+' minut '+~~sec%60+' sekund';
  6. if(sec>0)setTimeout(arguments.callee,1000)})()
  7. }
  8. </script>
  9. <script>
  10. var elems=document.querySelectorAll('[id*=odliczanie]')
  11. ,date=new Date(2013,11,31);
  12. for(var i=0,c=elems.length;i<c;++i)
  13. F(elems[i],date);
  14. </script>

i np takie coś
  1. <div class="xxx">
  2. <a href="#"><img src="/images/a.png" alt=""><span><p id="odliczanie1"></p></span></a>
  3. </div>
  4. <div class="xxx">
  5. <a href="#"><img src="/images/a.png" alt=""><span><p id="odliczanie2"></p></span></a>
  6. </div>


Może mi ktoś przerobić ten kod js tak, abym mógł wybierać datę końca odliczania dla każdego id, czyli dla id odliczanie1 np. date 2013-12-11 a dla odliczanie2 2014-01-01
com
jeśli Ci to działa dla 1 id to wystarczy wywołać to samo dla drugiego ze zmieniona datą przecież nie masz jej na sztywno w kodzie..

http://jsfiddle.net/56Ksk/

btw coś to źle liczy smile.gif
MrGohut
Chodzi tylko o to, że dostałem ten kod
  1. var elems=document.querySelectorAll('[id*=odliczanie]')
  2. ,date=new Date(2013,11,31);
  3. for(var i=0,c=elems.length;i<c;++i)
  4. F(elems[i],date);

ale to jest do np. 10 odliczeń z jedną datą a ja potrzebuje mieć 10 odliczeń z różną datą. dostałem podpowiedź taką:
Cytat
no to zmień selektor i wyklucz to id

ale nie wiem o co chodzi bo nie ogarniam js
com
a raczyłeś zajrzeć na jsfiddle? daje rozwiązanie a Ty dalej swoje..

do tego nie trzeba ogarniać js, bo kod masz "gotowy" wystarczyło pomyśleć... smile.gif
MrGohut
Nie , to nie jest rozwiązanie, bo tak samo mogę zrobić ale takim kodem:
  1. function F(element, data){
  2. ;(function(sec){
  3. sec=(data-new Date())/1000;
  4. element.innerHTML=~~(sec/(3600*24))+' dni '+~~(sec/3600)%24+' godzin '+~~(sec/60)%60+' minut '+~~sec%60+' sekund';
  5. if(sec>0)setTimeout(arguments.callee,1000)})()
  6. }
  7.  
  8. F(document.getElementById('odliczanie1'), new Date(2013,11,31));
  9. F(document.getElementById('odliczanie2'), new Date(2013,11,31));

i będzie to o wiele krótsze, ale juz temat i tak nie aktualny.
com
zgadza się, nie analizowałem tego co napisałeś/ktoś napisał tylko dostosowałem do tego jak opisałeś problem...
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.