Egy egyszerű digitális óra, amely megjeleníti a rendszer idejét. Itt minden JavaScriptben történik, így szerkesztheti őket a tervbe. Telepítésük ugyanolyan egyszerű, mint ők maguk; elhelyezheti őket a webhely tetején, ahol többnyire láthatja őket. A plusz az, hogy ahogy mondták, meg tudod csinálni őket, ahogy kell, minden az azonosítótól függ - #time hol van HTML panel A kódok működnek, de minden részletesebb.

Ez a fő szkriptjük:

200?"200px":""+(this.scrollHeight+5)+"px");">00:00:00


setInterval(függvény () (
dátum = new Date(),
h = dátum.getHours(),
m = dátum.getMinutes(),
s = date.getSeconds(),
h = (h< 10) ? "0" + h: h,
m = (m< 10) ? "0" + m: m,
s = (s< 10) ? "0" + s: s,
document.getElementById("time").innerHTML = h + ":" + m + ":" + s;
}, 1000);

A legtetején ezt látjuk:

200?"200px":""+(this.scrollHeight+5)+"px");">00:00:00

Csak add hozzá miniatűrés sárga árnyalat és nyilak.

200?"200px":""+(this.scrollHeight+5)+"px");">"00:00:00"

És ez történt:

Így saját szemével láthatja, hogyan változott minden, és most mindent saját maga csinálhat, és gyönyörűen elrendezheti stílusának megfelelően. Hogy másokat nem lehet megtenni, mivel a Flash be van kapcsolva, hogy ők nincsenek itt.

Most ezen kívül van egy óra a Flash-en

200?"200px":""+(this.scrollHeight+5)+"px");">
.swf">

Így kiválaszthatod, hogy melyik tetszik a legjobban, és telepítheted őket, mert van, amelyik blokkba is telepíthető, de az elsők jobban tetszenek, hiszen rugalmasak és testreszabhatóak, amit bárki megtehet.

A számlapos órák létrehozásáról már tárgyaltunk CSS használatávalés JavaScript. Ebben az oktatóanyagban ugyanazt az órát készítjük el CSS3 használatával, hogy megtudjuk, hogyan új szabvány megváltoztatja a különböző effektusok kialakításának megközelítését. Az oktatóanyag bemutatója csak a CSS3 tulajdonságot támogató böngészőkben működik forog(a demó NEM MŰKÖDIK IE6-ban).

CSS3 átalakítás: forgatás

Átalakítás: forgatás- új CSS 3 tulajdonság, amely lehetővé teszi a forgatást különféle elemek. Az átalakítások segítségével módosíthatja az elemek léptékét, vízszintes és függőleges torzításokat vezethet be, és elemeket mozgathat a weboldalon. Mindez animálható a tulajdonság segítségével átmenet(Val vel különböző típusokátmenetek és időtartam).

Az oldalelemek animálásához ugyanazokat a műveleteket lehet végrehajtani néhány használatával JavaScript-könyvtárak(pl. jQuery). Természetesen azzal jQuery használatával sokkal több változását animálhatod CSS tulajdonságok mint a használata átmenet. De a jQuery be van építve CSS használatával, A JavaScript-könyvtárak külső eszközök, amelyek esetleg nem állnak rendelkezésre. A CSS3 mindenesetre új, ígéretes irányokat nyit meg a fejlesztők fejlesztése előtt.

Grafika

Először tennünk kell GUIórákhoz. Lesz egy alapunk és három nyílunk. A Photoshop minden mozgó alkatrészét 600 képpont magasságú és 30 képpont szélességű méretre vágja, és függőlegesen helyezi el, és alapértelmezés szerint a tulajdonság forog az elemet a közepe körül forgatja. Használhatja az ingatlant átalakulás-eredetű hogy a forgás középpontját egy másik pontra állítsa.

Az óra alapjául bármilyen kívánt képet használhat. A mozgó részek képek PNG formátumátláthatósággal.

Archiválva ezzel: forráskód demókat tartalmaznak PSD fájl, amely az összes képet tartalmazza.


HTML jelölés

Az óra elrendezése egy egyszerű, rendezetlen lista. Minden listaelem tartalmaz egy mozgó részt, és rendelkezik egy megfelelő azonosítóval:

CSS

#óra (pozíció: relatív; szélesség: 600px; magasság: 600px; margó: 20px auto 0 auto; háttér: url(clockface.jpg); listastílus: nincs; ) #sec, #perc, #hour (pozíció: abszolút ; szélesség: 30px; magasság: 600px; felül: 0px; bal: 285px; ) #sec ( háttér: url(sechand.png); z-index: 3; ) #min ( háttér: url(minhand.png); z -index: 2; ) #óra ( háttér: url(hourhand.png); z-index: 1; )

A CSS is meglehetősen egyszerű. Mivel a mozgó részek méretei és kiindulási pontjai azonosak, az ismétlődés elkerülése végett együtt deklarálhatjuk őket. Elem ul relatív pozicionálást kap, lehetővé téve a használatát abszolút pozicionálás a benne található nyilakért.

A CSS3 egy kis jQuery kód segítségével kerül alkalmazásra.

JavaScript
  • Megszerzi az időt az órára
  • Számolja ki és illessze be CSS stílusok(elfordulási szög) minden elemre.
  • Rendszeres időközönként frissítjük a CSS stílusokat.
  • Meg kell jegyezni, hogy a jQuery remekül működik az új CSS3 tulajdonságokkal. Ezenkívül, mivel a stílusok dinamikusan kerülnek hozzáadásra, a CSS-fájl CSS2.1-ként érvényesül!

    Idő megszerzése

    Időt is lehet szerezni PHP használatával kódot, de szerveridő lesz. A JavaScript pedig visszaadja a felhasználó helyi idejét.

    segítségével kapunk információkat Dátum()és állítsuk be az összes változónkat. Ennek megfelelően fogjuk használni GetSeconds(), GetMinutes() vagy GetHours() Mert Dátum() másodpercek, percek és órák beállításához:

    Var seconds = new Date().getSeconds();

    A fenti sorban egy 0 és 59 közötti számot kapunk és hozzárendelünk egy változóhoz. másodpercig.

    A szög meghatározása

    Ezután ki kell számítania az egyes nyilak forgási szögét. A másodperc- és percmutatóknál, amelyeknek 60 pozíciója van az órakörön, el kell osztanunk a 360 fokot 60-nal, ami a 6-ot adja. Ez azt jelenti, hogy minden másodperc vagy perc 6 fokos elfordulásnak felel meg. A számítások eredményét egy másik változóban tároljuk. A kód másodpercekig így néz ki:

    Var fok = másodperc * 6;

    Órák esetében a számítások eltérőek lesznek. Mivel 12 állású óramutatónk van, minden óra 30 fokos elforgatási szögnek felel meg (360/12=30). De az óramutatónak is köztes állapotban kell lennie, vagyis percenként kell mozognia. Vagyis 4:30-kor az óramutató félúton legyen 3 és 4 óra között. A következőképpen tesszük:

    Var hdegree = óra * 30 + (perc / 2);

    Vagyis a forgásszöghez hozzáadjuk az órák számával a percek számának 2-vel való osztásának értékét (ami 0,5 és 29,5 közötti tartományba eső értéket ad). Így az óramutató 0 és 30 fok közötti szögben „elfordul” (óra növekmény).

    Például:

    2 óra 40 perc -> 2*30 = 60 fok és 40/2 = 20 fok. Összesen: 80 fok.

    Feltételezhetjük, hogy 12 után ki tudja mit mutat az óra, hiszen az elforgatási érték több mint 360 fok lesz. De minden remekül működik.

    Most készen állunk a CSS-szabályok beillesztésére.

    A stílus beállítása

    Így néz ki egy CSS3 szabály forog a stíluslapon:

    #sec ( -webkit-transform: forgatás (45 fok); -moz-transform: forgatás (45 fok); )

    És a kód beillesztése így történik a jQuery használatával:

    $("#sec").css(("-moz-transform" : "rotate(45deg)", "-webkit-transform" : "rotate(45deg)"));

    Az egyetlen probléma az, hogy a kapott szögértéket a szintaxis "sdegree" változójában állítsa be 45 fok helyett. Karakterláncot kell létrehozni egy másik változóban forogniés teljesen helyettesíti a második érvet. Mint ez:

    Var srotate = "rotate(" + sdegree + "deg)";

    És a jQuery kód így fog kinézni:

    $("#sec").css(("-moz-transform" : srotate, "-webkit-transform" : srotate));

    Az egészet összerakva

    A jQuery kód így fog kinézni:

    $(document).ready(function() ( setInterval(function() ( var seconds = new Date().getSeconds(); var sdegree = másodperc * 6; var srotate = "rotate(" + sdegree + "deg)") ; $("#sec").css(("-moz-transform" : srotate, "-webkit-transform" : srotate)); ), 1000); setInterval(function() ( var hours = new Date() .getHours(); var mins = new Date().getMinutes(); var hdegree = óra * 30 + (perc / 2); var hrotate = "rotate(" + hdegree + "deg)"; $("#óra ").css(("-moz-transform" : hrotate, "-webkit-transform" : hrotate)); ), 1000); setInterval(function() ( var mins = new Date().getMinutes(); var mdegree = perc * 6; var mrotate = "rotate(" + mdegree + "deg)"; $("#perc").css(("-moz-transform" : mrotate, "-webkit-transform" : mrotate) ); ), 1000); ));

    Használjuk JavaScript függvény setInterval hogy másodpercenként frissítse a stílusokat. Az időértékeket fogadó változókat frissíteni kell benne. Ellenkező esetben az óra haszontalan szemétté válik az oldalon.

    Következtetés

    Ez a lecke bemutatja gyakorlati használat tulajdonságait forog nem kapcsolódik a tervezéshez.

    Csináljuk Digitális óra dátummal és idővel a jQuery és a CSS3 használatával egy kis animációhoz.

    HTML

    A jelölés egyszerű és rugalmas. Hozzon létre egy DIV-t egy óra nevű osztállyal, egy DIV-t a Date nevű osztállyal, amely megjeleníti a dátumot, és egy rendezetlen listát, amely az órákat, perceket és másodperceket tartalmazza.

    CSS

    Tervezési stílusok kis animációval:

    Tároló (szélesség: 960 képpont; margó: 0 automatikus; túlcsordulás: rejtett;) .clock (szélesség: 800 képpont; margó: 0 automatikus; kitöltés: 30 képpont; szegély: 1 képpont tömör #333; szín: #fff; ) #Dátum ( font- család: Arial, Helvetica, sans-serif; font-size: 36px; text-align:center; text-shadow:0 0 5px #00c6ff; ) ul (szélesség:800px; margó:0 auto; kitöltés:0px; lista- style:none; text-align:center; ) ul li ( display:inline; font-size:10em; text-align:center; font-family:Arial, Helvetica, sans-serif; text-shadow:0 0 5px # 00c6ff; ) #point ( pozíció:relatív; -moz-animation:mymove 1s végtelen; -webkit-animation:mymove 1s könnyű végtelen; padding-left:10px; padding-right:10px; ) @-webkit-keyframes mymove ( 0% (átlátszatlanság: 1,0; text-shadow: 0 0 20px #00c6ff;) 50% (átlátszatlanság: 0; text-shadow:none; ) 100% (átlátszatlanság: 1,0; szövegárnyék: 0 0 20px #00c6ff; ) ) @-moz-keyframes mymove ( 0% (átlátszatlanság:1.0; text-shadow:0 0 20px #00c6ff;) 50% (átlátszatlanság:0; text-shadow:none; ) 100% (átlátszatlanság:1.0; text-shadow :0 0 20px #00c6ff; ) )

    JS

    A jQuery könyvtár csatlakoztatása

    Ezután a $(document).ready(function() ( // Hozzon létre két változót a hónapok és a hét napjainak nevével a tömbben var monthNames = [ "január", "február", "március", " április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december" ]; var dayNames= ["vasárnap", "hétfő", "kedd" ", "Wednesday" "Thursday","Friday","Saturday"] // Objektum létrehozása newDate() var newDate = new Date(); // Az aktuális dátum lekérése a Date objektumból newDate.setDate(newDate. getDate()); // Kimeneti nap, dátum, hónap és év $("#Date").html(dayNames + " " + newDate.getDate() + " " + monthNames + " " + newDate.getFullYear()) se ").html((másodperc< 10 ? "0" : "") + seconds); },1000); setInterval(function() { // Создаем объект newDate() и извлекаем минуты текущего времени var minutes = new Date().getMinutes(); // Добавляем начальный ноль к значению минут $("#min").html((minutes < 10 ? "0" : "") + minutes); },1000); setInterval(function() { // Создаем объект newDate() и извлекаем часы из текущего времени var hours = new Date().getHours(); // Добавляем начальный ноль к значению часов $("#hours").html((hours < 10 ? "0" : "") + hours); }, 1000); });

    • new Date() - létrehoz egy új dátum objektumot egy értékkel mostani dátumés a pontos időt a számítógép böngészőjében.
    • setDate() - a metódus beállítja a hónap napját (1-től 31-ig), helyi idő szerint
    • getDate() - a metódus a hónap napját adja vissza (1-től 31-ig) a megadott dátumhoz a helyi idő szerint
    • getSeconds(), getMinutes() és getHours() – Ezek a metódusok lehetővé teszik az aktuális idő másodperceinek, perceinek és óráinak lekérését a böngészőben.
    • (másodperc< 10 ? "0" : "") + seconds) - добавляет начальный ноль к значению секунд (минут и часов). Символы ? и : включают тернарный (ternary ) оператор. Это специальный оператор, который возвращает значение перед двоеточием, если условие перед вопросом (? ) верно (true ), или значение после двоеточия , если условие неверно (false ).
    • A setInterval függvény egy szabványos JavaScript függvény, nem a jQuery része. Sokszor végrehajtja a kódot, rendszeres időközönként (ezredmásodpercenként).

    Ez egy egyszerű szkript, amely egyszerű szövegben jeleníti meg a rendszeridőt JavaScriptben. Órák, percek és másodpercek kettősponttal elválasztva – ennyi.

    Az óra saját stílusának beállításához elegendő az ID - #time blokkhoz a stílust megadni. A CSS-ben saját betűtípust állíthatunk be az órához, annak színét és méretét. Ha nem egyszerű órára van szüksége, hanem bonyolultabbra, akkor nézze meg az oldal Flash órákat. Honnan veszi a szkript az időadatokat? A megjelenített idő pontosan megegyezik a készüléken beállított idővel.

    Telepítés

    Illessze be a következő kódot arra a helyre, ahol látni szeretné az órát a webhelyén. Az uCoz-on ez lehet például „Top” vagy „Bottom of the site”:

    200?"200px":""+(this.scrollHeight+5)+"px");">
    00:00:00


    setInterval(függvény () (
    dátum = new Date(),
    h = dátum.getHours(),
    m = dátum.getMinutes(),
    s = date.getSeconds(),
    h = (h< 10) ? "0" + h: h,
    m = (m< 10) ? "0" + m: m,
    s = (s< 10) ? "0" + s: s,
    document.getElementById("time").innerHTML = h + ":" + m + ":" + s;
    }, 1000);

    A szkript azonnal megjelenít egy szövegsort egy órával azon a helyen, ahol telepítette. Például "00:00:00". A másodpercek, percek és órák egyébként mindig kétjegyűek, így az értékek változása zökkenőmentesen történik.