nedumerire pozitie variabile (javascript)
Last Updated: Mar 08 2016 16:03, Started by
colombo2003
, Mar 08 2016 15:05
·
0
#1
Posted 08 March 2016 - 15:05
Am urmatorul javascript pentru afisarea orei:
function ceas() { Digital=new Date() hours=Digital.getHours() minutes=Digital.getMinutes() seconds=Digital.getSeconds() if (hours<=9) hours="0"+hours if (minutes<=9) minutes="0"+minutes if (seconds<=9) seconds="0"+seconds myclock="<b>"+hours+":"+minutes+":"+seconds+"</b>" document.getElementById("digital").innerHTML=myclock setTimeout("ceas()",1000); } ceas(); In forma de mai sus, variabilele (Digital, hours, minutes si seconds) sunt locale (pot avea var in fata sau nu); si funtictioneaza bine (se vede cum se schimba secundele) DE CE daca scot (cu var in fata pe Digital (sau chiar pe toate), si il pun sus, inainte de function, nu mai functioneaza? Adica, ma rog, functioneaza, dar totul este static (secundele nu se mai schimba); trebuie sa dau refresh la pagina, si atunci se afiseaza din nou ora (corecta), dar tot statica? |
#2
Posted 08 March 2016 - 15:24
-setTimeout("ceas()",1000);
Instructiunea de mai sus executa functia "ceas" la fiecare 1000 de milisecunde(o secunda) -Digital=new Date() Instructiunea determina data curenta. Daca o muti sus, va determina data curenta de la momentul in care incarci pagina, si desi functia "ceas" se va executa la fiecare secunda, ea va avea valoare initiala. In forma in care ai postat codul, data curenta se determina de fiecare data cand se executa functia "ceas", si de aceea afiseaza ora corect. O scurta documentare despre setTimeout te lamurea despre ce nu e in regula Quote In forma de mai sus, variabilele (Digital, hours, minutes si seconds) sunt locale (pot avea var in fata sau nu); si funtictioneaza bine (se vede cum se schimba secundele) |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users