Změna pozadí stránek podle času – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Změna pozadí stránek podle času – JavaScript, AJAX, jQuery – Fórum – Programujte.comZměna pozadí stránek podle času – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
16. 3. 2015   #1
-
0
-

Dobrý den,

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?

Předem moc děkuji a přeji hezký den.

Nahlásit jako SPAM
IP: 89.103.81.–
lukas.balaz0
Super člen
16. 3. 2015   #2
-
0
-

#1 HPEverest
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  

onDomReady( function() {


});
Nahlásit jako SPAM
IP: 80.242.41.–
16. 3. 2015   #3
-
0
-

Bylo mi řečeno, že bych u něčeho mohl bojovat s kompatibilitou mezi prohlížeči.   

Nahlásit jako SPAM
IP: 89.103.81.–
peter
~ Anonymní uživatel
3981 příspěvků
17. 3. 2015   #4
-
0
-

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.

Ja bych to neresil.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:b5ea:3c...–
lukas.balaz0
Super člen
17. 3. 2015   #5
-
0
-

#4 peter
Pred body ?? JS kód by mal byť vždy úplne naspodku body elementu. Teda aspoň ako som ja počul.

Nahlásit jako SPAM
IP: 80.242.41.–
peter
~ Anonymní uživatel
3981 příspěvků
17. 3. 2015   #6
-
0
-

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)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:b5ea:3c...–
remmidemmi0
Věrný člen
17. 3. 2015   #7
-
0
-

#1 HPEverest
změnu pozadí dle denní doby jde udělat nádherně v PHP. Prostě ji udělej na serveru a ne u klienta v JS.

Nahlásit jako SPAM
IP: 109.81.210.–
17. 3. 2015   #8
-
0
-

Děkuji všem za odpověď, nakonec jsem to vyřešil pomocí JQuery.

Nahlásit jako SPAM
IP: 89.103.81.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Update podle času — založil Calvary

Zmena času na PC — založil zonda

Zmena pozadí u WinForms — založil Antonidas

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý