Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Wyświetlanie dwóch liczników na raz
klapaucius
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Mam taką funkcję do odliczania czasu czasu (jako parametr podajemy uniksowy czas, do którego nasza funkcja ma odliczać czas):
  1. function licznik($do_kiedy){
  2. return "
  3. <script type='text/javascript'>
  4.  
  5. function CD(d,o,t,x){return[x=~~(t=(d-o)/864e5),x=~~(t=(t-x)*24), x=~~(t=(t-x)*60),~~((t-x)*60)]}
  6. function R(t){
  7. t=CD(new Date(".($do_kiedy*1000)."),new Date());
  8. document.getElementById('licznik').innerHTML=''+t[2]+'m, '+t[3]+'s';
  9. if(!t[0]&&!t[1]&&!t[2]&&!t[3])document.location='google.pl';
  10. else setTimeout('R()',1e3);
  11. }
  12. onload=function(){R();}
  13.  
  14.  
  15. </script>
  16. <div id='licznik'></div>";
  17. }

No i funkcja działa elegancko, jednak co zrobić, jeśli na raz chcę wyświetlić kilka takich liczników? Teraz, gdy wywołam na raz kilka razy tę funkcję to wyświetla się tylko 1 odliczanie...
Domyślam się, że jest to zależne od tego, że wyświetla się do za pomocą div'u o ID = 'licznik'.. A jak wiemy ID może występować tylko raz... W takim razie można zrobić z tego CLASS zamiast DIV? Jeśli tak to jak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
--biocian--
post
Post #2





Goście







Reasumując i łącząc powyższe posty zrobiłem to tak:

CODE
<script type='text/javascript'>
function CD(d,o,t,x){return[x=~~(t=(d-o)/864e5),x=~~(t=(t-x)*24), x=~~(t=(t-x)*60),~~((t-x)*60)]}

function licz(obj) {
t=CD(new Date(obj[1]),new Date());
document.getElementById(obj[0]).innerHTML=' ' +t[0]+" dni, "+t[1]+" godz, "+t[2]+" min, "+t[3]+"s";
}

var e = [['div1','2011,12,31,16:00:00'],['div2','2012,12,31,10:00:00'],['div3','2012,01,01,15:38:00']];
function dublujLiczenie() {

for(i=0; i<e.length; i++) {

licz(e[i]);
}
setTimeout('dublujLiczenie()', 100);
}

</script>

<body onload='dublujLiczenie()'>
<div id='div1' style='border:1px solid red;'></div><br />
<div id='div2' style='border:1px solid red;'></div><br />
<div id='div3' style='border:1px solid red;'></div><br />
</body>


A reszta to już rola php (podanie do JS dat, czy nazw divów).
W sumie to forum PHP a wątek obrazuje głównie JS (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 01:12