Riješeno: na promjenu veličine prozora

Posljednje ažuriranje: 09/11/2023

Promjena veličine prozora može izgledati kao beznačajan zadatak u web razvoju, ali zapravo povezuje dosta koncepata iz JavaScript-a i Typescript-a, i igra ključnu ulogu u osiguravanju prilagodljivog i korisničkog dizajna. U kontekstu dinamičkog UI/UX-a, funkcija 'promjene veličine prozora' je najvažnija. Svakodnevni primjeri mogu uključivati ​​bočnu traku koja se smanjuje pri promjeni veličine prozora kako bi pružila besprijekoran prostor za čitanje ili sliku galerije koja se sama prilagođava kako bi se spriječilo izobličenje. Izmjena se vrši reaktivno slušanjem događaja promjene veličine prozora.

Problem je u izvođenju radnje koja zavisi od promjene veličine prozora, što se može vrlo sažeto upravljati pomoću Typescript-a i DOM manipulacije. Iskoristit ćemo Typescript-ovu provjeru tipova i skalabilnost da organiziramo naše rješenje.

window.addEventListener('resize', () => {
neka širina = window.innerWidth;
if(width <= 768){ // radnja koja se izvodi kada je veličina prozora manja ili jednaka 768px }else{ // radnja koja se izvodi kada je veličina prozora veća od 768px } }); [/code]

Razumijevanje Kodeksa

Dostavljeni kod radi tako što odmah poziva anonimnu funkciju svaki put kada se promijeni veličina prozora. Ova anonimna funkcija nam daje pristup objektu događaja, koji nosi vrijedne informacije o incidentu 'promjene veličine'. Unutar funkcije definiramo dva uvjeta; jedan kada je unutrašnja širina prozora manja ili jednaka 768 piksela i drugi kada je veća od toga. Ova podjela se općenito koristi za razlikovanje mobilnih i desktop uređaja.

Evolucija promjene veličine prozora

Promjena veličine prozora je proizvod evoluiranog svijeta responzivnog web dizajna. Za razliku od ranijih dana kada su web stranice pravljene za standardne veličine ekrana, trenutni zahtjevi su se značajno promijenili. Uz neosporno širok raspon uređaja s različitim rezolucijama ekrana, od ključne je važnosti da se naš dizajn prilagodi individualnim platformama za gledanje, nudeći optimiziran i lak izgled za oči.

Javascript događaji i Typescript

Vraćajući se našem rješenju, suštinski dio ovdje je razumijevanje kako koristiti JavaScript događaje sa Typescript-om. Događaj 'promjene veličine' samo je jedan od mnogih događaja koje JavaScript pruža za određivanje različitih stanja i radnji na web stranici. 'click', 'hover', 'mousedown' su nekoliko primjera. Spajanje ovih događaja sa Typescriptom omogućava programerima da kreiraju čišći kod koji se može održavati sa jakim kucanje Typescript-a i fleksibilnost JavaScripta.

Odbijanje za efikasnost

Poslednja stvar koju treba uzeti u obzir je da se događaj 'promjene veličine' pokreće kontinuirano, sve dok se prozor povlači. To bi moglo značiti kritičan udarac performansi ako je vaša funkcija slušanja događaja teška. Da bismo to ublažili, koristimo koncept koji se zove 'Debouncing'. Odbijanje u JavaScriptu je praksa koja se koristi za ograničavanje vremena između poziva funkcije. Evo primjera kako bismo mogli ukloniti našu funkciju promjene veličine.

neka debounceTimeout;
window.addEventListener('resize', () => {
clearTimeout(debounceTimeout);
debounceTimeout = setTimeout(() => {
neka širina = window.innerWidth;
if(width <= 768){ // radnja koja se izvodi kada je veličina prozora manja ili jednaka 768px }else{ // akcija koja se izvodi kada je veličina prozora veća od 768px } }, 100); }); [/code] To je otprilike to. Pošto je objašnjenje završeno, sada bi trebalo biti lako razumjeti i implementirati funkcionalnosti poput promjene veličine prozora pomoću JavaScript-a i Typescript-a. Sretno kodiranje!

Slični postovi: