Autor | Zpráva | ||
---|---|---|---|
vodys Profil |
#1 · Zasláno: 15. 8. 2018, 10:29:43
Dobrý den.
Poptávám nejspíš jednoduchý script, který má v časech 10-11h dopoledne a 14-15h odpoledne zobrazovat text. Pokud nebude zrovna daný čas, vyobrazí se pouze text "Zde není nic k zobrazení". Hledal jsem skrze celým internetem, ale neporadil jsem si. Byl by někdo prosím ochotný? |
||
T-fon Profil |
Takhle nějak by to mělo jít:
function showText() { var currentTime = new Date().getHours(); if (currentTime == 10 || currentTime == 14) { ... } ... } |
||
vodys Profil |
#3 · Zasláno: 15. 8. 2018, 12:29:31
Bylo by možné celý funkční kód prosím?
Vzhledem k mé neznalosti js se mi nedaří zfunkčnit kód. :/ |
||
T-fon Profil |
#4 · Zasláno: 15. 8. 2018, 13:33:39
Tak to už pak záleží kde a jak to chceš vypisovat. Když budeš mít na stránce nějaký element s id, tak třeba takhle:
function showText() { var currentTime = new Date().getHours(); if (currentTime === 10 || currentTime === 14) { document.getElementById("id").innerText = "Nějaký text"; } else { document.getElementById("id").innerText = "Zde není nic k zobrazení"; } } showText(); |
||
vodys Profil |
#5 · Zasláno: 16. 8. 2018, 07:35:50
Super. Funguje jak má, děkuji ti! :)
Ještě drobnost.. Jak toto nezobrazovat o víkendu? |
||
T-fon Profil |
#6 · Zasláno: 16. 8. 2018, 08:22:04
Je to stejnej princip. Dáš podmínku jestli není sobota nebo neděle a pokud je splněno, uvnitř podmínky budeš mít ten script s výpisem textů.
var weekDay = new Date().getDay(); if (weekDay !== 6 || weekDay !== 0) { ... } |
||
Kajman Profil |
#7 · Zasláno: 16. 8. 2018, 08:43:24
T-fon:
„není sobota nebo neděle“ Je potřeba to zapsat jako "není sobota a není neděle". weekDay !== 6 && weekDay !== 0 |
||
T-fon Profil |
#8 · Zasláno: 16. 8. 2018, 08:47:15
No jo, pravda. Já si to v consoli testnul jako === a tam je správně OR. A pak jsem to tady změnil na negaci...
|
||
vodys Profil |
#9 · Zasláno: 16. 8. 2018, 11:12:37
<body> <div class="text"> <div id="volat"></div> <div id="nevolat"></div> </div> <script type="text/javascript"> function showText() { var currentTime = new Date().getHours(); if (currentTime === 10 || currentTime === 11) { document.getElementById("volat").innerHTML = "Telefonický kontakt je možný vždy od <b>10:00 - 11:00</b> dopoledne a <b>14:00 - 15:00</b> odpoledne.<br /><br /><b>TEL:</b> +420 583 034 ***<br /><b>MOB:</b> +420 737 171 ***<br /><br /><b>Těšíme se na Vás!</b>"; } else if (currentTime === 14 || currentTime === 15) { document.getElementById("volat").innerHTML = "Telefonický kontakt je možný vždy od <b>10:00 - 11:00</b> dopoledne a <b>14:00 - 15:00</b> odpoledne.<br /><br /><b>TEL:</b> +420 583 034 ***<br /><b>MOB:</b> +420 737 171 ***<br /><br /><b>Těšíme se na Vás!</b>"; } else { document.getElementById("nevolat").innerHTML = "Telefonický kontakt je možný vždy od <b>10:00 - 11:00</b> dopoledne a <b>14:00 - 15:00</b> odpoledne.<br /><b>V této chvíli odpovídáme pouze na emaily, které nám zasíláte na <a style='color:#c44c2d;' href='mailto@email.cz'>info@email.cz</a></span></b><br />nebo přes kontaktní formulář."; } } showText(); </script> Je to takhle správně? Kód mi docela buguje.. Pravdou je že v 10:00 se změní text, ale v 11:00 už se nevrátí zpět. Zároveň bych poprostil zakomponovat do kódu i ty víkendy, kdy bude vystupovat pouze id="nevolat".. Děkuji mnohokrát! |
||
Mlocik97m Profil * |
#10 · Zasláno: 16. 8. 2018, 11:18:09
Vrati sa späť po refreshi, ak chceš zmenu textu bez refreshe, je nuto poižít two way data binding. Inak je to hnus ten kod hore.
|
||
vodys Profil |
#11 · Zasláno: 16. 8. 2018, 11:19:47
Stačí až po refreshi .. Problém je, že se nevrátí ani po něm .. Ani po 15ti minutách refreshů ..
|
||
Mlocik97m Profil * |
To už je zrejme problém cashovania.
skúšali ste aj tvrdý refresh? Ctrl + Shift + R ježiši, vy ste tam pridali toto (currentTime === 10 || currentTime === 11) jasné že to nejde... tým ste stránke povedali ať ten text zobrazuje v čase 10:xx:xx alebo 11:xx:xx čož je i čas 11:59:59 |
||
T-fon Profil |
#13 · Zasláno: 16. 8. 2018, 11:35:17
Mlocik97m:
„skúšali ste aj tvrdý refresh? Ctrl + Shift + R“ Tato kombinace nefunguje ve všech prohlížečích, univerzálně je to CTRL+F5. |
||
Mlocik97m Profil * |
má to byť jak je to hore len (currentTime === 10 || currentTime === 14)
function showText() { var currentTime = new Date().getHours(); if (currentTime === 10 || currentTime === 14) { document.getElementById("volat").innerHTML = "Telefonický kontakt je možný vždy od <b>10:00 - 11:00</b> dopoledne a <b>14:00 - 15:00</b> odpoledne.<br /><br /><b>TEL:</b> +420 583 034 ***<br /><b>MOB:</b> +420 737 171 ***<br /><br /><b>Těšíme se na Vás!</b>"; } else { document.getElementById("nevolat").innerHTML = "Telefonický kontakt je možný vždy od <b>10:00 - 11:00</b> dopoledne a <b>14:00 - 15:00</b> odpoledne.<br /><b>V této chvíli odpovídáme pouze na emaily, které nám zasíláte na <a style='color:#c44c2d;' href='mailto@email.cz'>info@email.cz</a></span></b><br />nebo přes kontaktní formulář."; } } showText(); |
||
vodys Profil |
#15 · Zasláno: 16. 8. 2018, 12:13:18
Mlocik97m:
„ježiši, vy ste tam pridali toto (currentTime === 10 || currentTime === 11) jasné že to nejde... tým ste stránke povedali ať ten text zobrazuje v čase 10:xx:xx alebo 11:xx:xx čož je i čas 11:59:59“ Nechci aby se to zobrazovalo buď v čase 10:xx:xx nebo v čase 11:xx:xx, ale od 10:00 do 11:00 „má to byť jak je to hore len (currentTime === 10 || currentTime === 14)“ Nějak nevidím co se v kódu změnilo.. Asi jsem slepej. Díky za odpověď :) |
||
Keeehi Profil |
#16 · Zasláno: 16. 8. 2018, 12:54:19
Mlocik97m:
„To už je zrejme problém cashovania.“ To není ten případ. Kód ze serveru je stále stejný. A provádění javascriptových funkcí nemá s keší nic společného. vodys: Zkus jim vysvětlit, že to co chtějí není uživatelsky přívětivé. Například zapomněli na tuto situaci: Jsem doma a je 8:00. Podívám se na stránky a vidím, že jim mohu zavolat v 10 hodin. Takže si chci uložit číslo abych jim mohl v 10, až budu ve městě zavolat. Jenže číslo si uložit nemohu, jelikož tam není a ve městě mezi nákupy přístup k internetu prostě nemám. Je mi jasné že to chtějí proto, aby je nikdo v ostatní hodiny neotravoval. Jenže to jim taky nevyjde. Když už se k tomu číslu jednou někdo dostane tak si ho může uložit a stejně jim volat kdy se mu zlíbí. Takže než implementovat tuto zhůvěřilost by jsi jim měl poradit, ať si pořídí odpovědní automat který v určených časech bude odpovídat na všechny hovory hláškou ve stylu: "Omlouváme se, ale nyní nemůžeme odpovědět na Váš telefonát. Ozveme se v *** mezi *** a *** hodinou. Děkujeme." Místo hvězdiček je samozřejmě nejbližší možný den a hodina vzhledem k aktuálnímu času. Takové řešení mi přijde jako nejvíce uživatelsky přívětivé. |
||
Mlocik97m Profil * |
10:xx:xx = 10:00:00 až 10:59:59
vodys: zmenili sa inak if-else statementy |
||
vodys Profil |
#18 · Zasláno: 17. 8. 2018, 07:37:13
Keeehi:
Bohužel - někdy to prostě vysvětlit nejde. Tohle je nejlevnější varianta a dle úvahy to obrátí lidi směrem na email. Uvidíme no.. Kdyby na mě bylo, už je zřízen automat .. |
||
Časová prodleva: 6 let
|
0