v JQuery jsem naprostý laik a tak prosím o pomoc s následujicím problémem. Chtěl bych aby se na stránkách měnilo pozadí dle denní doby. Pro toto jsem zkoušel použít následujicí kód v JS.
<body>
<script>
var myDate=new Date()
var hour=myDate.getHours()
// Zmena dle denniho casu
if ( ( hour>7) && (hour<20) )
document.body.style.background = "red";
else
document.body.style.background = "blue";
</script>
<h1>Hello World!</h1>
</body>
Bylo mi však doporučeno to udělat pomocí JQuery a celé volání ještě zaobalil do události OnDomReady, aby se to nespustilo dřív, než je celé HTML nahrané.
Můžete mi prosím poradit, jak by ten kód v JQuery vypadat?
#1HPEverest
Prečo jQuery ? Akože jQuery je super a je dobré sa to naučiť, ale ak máš fungujúci JS kód, ktorý by sa použitím jQuery nejako vôbec neskrátil, nevidím dôvod to prepisovať.
A to onDomReady si vygoogli, vlastne len celý kód daj medzi
Jedine problemove mista jsou "document.body", ze menis cele "background" misto
"backgroundColor" a to, ze ten kod neni pred "</body>". Kvuli tomu prvnimu by se hodilo resit kompatibilitu, pokud ti to nejede v tebou vybranych prohlizecich (konkretne by to melo selhavat v nekterych starsich IE). Ale samozrejme tu lze resit jinak nez pridanim 100k jquery js kodu.
lukas.balaz: A co je podle tebe </body>? :)
"ako som ja počul" - Nemas zatim vlastni nazor?
- idealni je to mit v externim souboru, vsechno v jednom, kvuli kesovani a aby se js nemichal s html kodem
- stranka se vykresluje postupne. kdyz to prerusis js kodem, ktery neco odnekud nacita, tak se ceka, az nez ten kod skonci, pak se vykresli zbytek. Coz je pro uzivatele neprijemne, kdyz ma bilou stranku nebo jen se tremi radky textu :)
- spousta lidi neumi spravne pouzit window.onload, <body onload=""> a toho vseho se muzes zbavim, kdyz ten script proste spustis pod strankou, kdyz uz jsou vsechny elementy vykreslene. 10 let, co jsem psal na jpw diskuzi snad kazdy druhy den se resil graybox v kombinaci s jinym pluginem, proc to nefunguje. Oba pluginy pouzivali prepisovani window.onload. Takze si vzajemne prepsali promenou a vzdy fungoval jen ten posledni :)
- v php se to taky pak dobre sklada, pokud kazdy plugin ma vlastni js, nebo kazdy include, tak se jen vytahnou do jedne promene a ta se prilepi na konec. (treba potrebujes u formulare neco predvyplnit)
A na dalsi veci si ted nevzpomenu. Urcite jeste najdes v navodech na inetu, ze se to doporucuje psat do hlavicky. nebo v papirovych knizkach. Nechapu, jak to nekdy mohl nekdo doporucovat :) Nejspis navstevoval jine nebo zadne diskuze.
Samozrejme, jak si to udelas, je na tobe. Poradek v kodu je ale taky fajn vec. Ale taky micham js kod do stranky, kdyz to potrebuji a bude to jen na te jedne strance a je to jen par znaku. (treba casto se pouziva el.focus() pro prihlasovani, abys mel kurzor v input policku a mohl hned psat, bez klikani na toto policko)