Descriere:Ceas in Javascript
Download:Nu necesita
Autor:Anonim
Sursa (Link-ul oficial): Propria parere:Util.
Tutorialul:
In continuare vom crea un ceas, care isi face refresh singur in pagina, utilizand obiectul ‘Date’ si unele dintre metodele sale.
Vei invata cum iti poti crea propriul ceas in javascript, personalizat dupa nevoile tale.
În cazul în care ne dorim sa cream un ceas, atunci în mod evident, avem nevoie de a prelua ora curentă. Putem face acest lucru prin intermediul clasei Date din JavaScript.
Preluarea orei curente
Pentru a utiliza functiile metoda ale obiectului ‘Date’, trebuie să cream ceea ce se numeşte o instanta a obiectului ‘Date’. Ne gandim la o instanta a obiectului ‘Date’ ca la o variabilă sau substituent care ne permite accesul la funcţiile de membru de la obiectul ‘Date’. Pentru a crea o instanta a obiectului ‘Date’, o definim ca o noua variabila:
Cod: Selectaţi tot
var data=new Date();
Comanda data mai sus ne permite sa folosim variabila ‘data’ ca sa accesam metodele obiectului ‘Date’. Pentru a intelege mai bine ce reprezinta metodele unui obiect, aveti mai jos cateva exemple de metode ale obiectului ‘Date’:
Metoda
Ce face aceasta
getHours() Returneaza numarul curent de ore dintr-o zi: (0-23)
getMinutes() Returneaza numarul curent de minute din ora: (0-59)
getSeconds() Returneaza numarul curent de secunde din minut: (0-59)
getDay() Returneaza numarul de zile din saptamana: (0-6)
getMonth() Returneaza numarul de luni din an: (0-11)
getYear() Returneza numarul de ani dintr-un secol: (0-99)
De exemplu pentru a extrage numarul de minute din ora vom proceda astfel:
Cod: Selectaţi tot
var data=new Date(); // cream variabila 'data' ca o instanta a obiectului Date
var minute=data.getMinutes(); //variabila 'minute' va contine numarul de minute din ora
Cod: Selectaţi tot
var data=new Date();
var ora=data.getHours();
var minute=data.getMinutes();
var secunde=data.getSeconds();
Acum, că avem cele trei componente cu valorile noastre curente de timp, sa formatam într-un şir frumos pentru afişarea lor în pagina Web. Ne dorim ca acesta să fie în formatul “HH: MM: SS XX”, unde XX este fie “AM” sau “PM”.
În primul rând, vom adăuga un zero la valoarea minutelor şi secundelor, dacă este cazul:
Cod: Selectaţi tot
minute= ( minute < 10 ? "0" : "" ) + minute;
secunde= ( secunde < 10 ? "0" : "" ) + secunde;
Apoi, vom crea o variabilă, “timpulZilei”, pentru “AM” sau “PM”, aşa cum este cazul. Am dori de asemenea, sa arătam ora 12 decât 0, deci avem nevoie de a adăuga un control pentru asta:
Cod: Selectaţi tot
var timpulZilei= ( ora < 12 ) ? "AM" : "PM";
ora= ( ora > 12 ) ? ora - 12 : ora;
ora= ( ora == 0 ) ? 12 : ora;
In continuare vom pune toate componentele ceasului intr-un sir avand formatul “HH:MM:SS XX”:
Cod: Selectaţi tot
var sirData= ora + ":" + minute + ":" + secunde + " " + timpulZilei;
Acum, că avem sirul care contine timpul nostru gata pentru a fi afişate, următorul pas este acela de a-l afişa în pagina Web. Pentru a face acest lucru, mai întâi vom crea un recipient span care sa afiseze ceasul:
Cod: Selectaţi tot
<span id="ceas"> </span>;
Cod: Selectaţi tot
document.getElementById("ceas").firstChild.nodeValue= sirData;
Iată codul nostru JavaScript terminat, gata de a fi afisat in pagina Web. Am pus toate cele de mai sus într-o funcţie , updateazaCeas().
Pentru a face ca ceasul sa se updateze automat, trebuie sa folosim metoda Window.setInterval() in tag-ul body pentru a face apel la functia updateazaCeas() in fiecare secunda. Trebuie, de asemenea, sa apelam functia updateClock () în momentul în care pagina se incarca, astfel încât ceasul sa apara imediat:
Cod: Selectaţi tot
<body onLoad="updateazaCeas(); setInterval('updateazaCeas()', 1000 )">
Cod: Selectaţi tot
<html>
<head>
<title>testscript | Ceas in Javascript</title>
<script type="text/javascript">
function updateazaCeas() {
var data=new Date();
var ora=data.getHours();
var minute=data.getMinutes();
var secunde=data.getSeconds();
minute= ( minute < 10 ? "0" : "" ) + minute;
secunde= ( secunde < 10 ? "0" : "" ) + secunde;
var timpulZilei= ( ora < 12 ) ? "AM" : "PM";
ora= ( ora > 12 ) ? ora - 12 : ora;
ora= ( ora == 0 ) ? 12 : ora;
var sirData=ora + ":" + minute + ":" + secunde + " " + timpulZilei;
document.getElementById("ceas").firstChild.nodeValue=sirData;
}
</script>
</head>
<body onLoad="updateazaCeas(); setInterval('updateazaCeas()', 1000 )">
<span id="ceas"> </span>
</body>
</html>