Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] wartość div
Forum PHP.pl > Forum > Przedszkole
sannin
Jak pobrać texk który jest w div do zmiennej ? Próbowałem tak:

  1. var a = document.getElementById("czas").innerHTML;
  2. lub
  3. var a = document.getElementById("czas").value;

Ale nie działa :/
wookieb
Kod
var a = document.getElementById("czas").innerHTML;

A jak nei działa tzn ze nie masz elementu o takim id w dokumencie albo sie jeszcze nie zaladowal.
Poza tym value to raczej do pol formularzy...
sannin
Cytat(wookieb @ 3.04.2009, 13:10:58 ) *
albo sie jeszcze nie zaladowal.

O to chodziło wywołanie funkcji było prze divem. Dzięki

Mam jeszcze jedno pytanie, a nie chcę rozpoczynać nowego wątku. Chodzi o jak zrobić aby zmienna podana do funkcji nie była kopiowana, tylko zeby funkcja pracowała na tej zmiennej np.
  1. var czas = 1000;
  2. function odlicz(time){
  3. time -= 1;
  4. }
  5. setInterval("odliczaj(czas);", 1000);

W taki przypadku cały casz będzie wyświetlone 999, jak to ominąć ?
nospor
no to po co ją dajesz jako parametr funkcji?
Kod
var czas = 1000;
function odlicz(){
czas -= 1;
}
setInterval("odlicz();", 1000);
sannin
Z tego powodu że będzie kilka odliczań, a ta funkcja jest bardziej zawiła tylko nie umieszczalem jej treści.
nospor
no to moze przedstaw całą sytuacje, to bedziemy mogli lepiej pomoc
sannin
  1. <META HTTP-EQUIV="content-type" CONTENT="text/html; CHARSET=iso-8859-2">
  2. <script type="text/javascript">
  3. var czas = 6000000;
  4. function odliczaj(div, time)
  5. {
  6. var d, g, m, s;
  7. var wd, wg, wm, ws;
  8.  
  9. if(czas > 0){
  10. czas -= 1;}
  11.  
  12. d = Math.floor(time/86400);
  13. g = Math.floor((time-(d*86400))/3600);
  14. m = Math.floor((time-(d*86400)-(g*3600))/60);
  15. s = Math.floor(time-(d*86400)-(g*3600)-(m*60));
  16.  
  17. if(d < 10){wd = "0"+d}else{wd = d};
  18. if(g < 10){wg = "0"+g}else{wg = g};
  19. if(m < 10){wm = "0"+m}else{wm = m};
  20. if(s < 10){ws = "0"+s}else{ws = s};
  21.  
  22. document.getElementById(div).innerHTML = "Dni: "+wd+" Godzin: "+wg+" Minuut: " +wm+" Sekund: "+ws;
  23. }
  24. setInterval("odliczaj('czas');", 1000);
  25. </head>
  26. czas: <div id="czas">864000</div>
  27. </body>
  28. </html>
wookieb
Wywal time z listy parametrow funkcji. A potem zastap w innych miejscach 'time' na 'czas'.
sannin
Tak robiłem i działało, ale jeżeli będę chciał to dać do 5 divów i w każdym inny czas ? Dlatego chciałem to zrobić jako funkcję i potem wywołać ją 5 razy z innymi parametrami. Wiem że np. w C++ jest taka możliwość aby pracować na orginalnej zmiennej.
wookieb
Kod
var times={
'czas':60000,
'czas2':213123,
'id_diva':czas_dla_diva
};

i w funkcji zastap slowo czas na
Kod
times[div]
sannin
Nie do końca o to chodziło ale działa smile.gif dzięki smile.gif
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.