Autor | Zpráva | ||
---|---|---|---|
FAMUL Profil * |
#1 · Zasláno: 7. 10. 2015, 20:27:05
Zdravím, měl bych jeden dotaz. Je možné, abych zadal někam časy od kdy do kdy se bude zobrazovat určitý text a on by se pak ukazoval? Chtěl bych něco, co by šlo bez problému dát do Drupalu
|
||
smitka Profil |
#2 · Zasláno: 8. 10. 2015, 15:56:32
Pokud nevadí, že bude text na stránce stále dostupný, jen nebude vidět, tak to lze jednoduše pomocí javascriptu:
jsfiddle.net/arhmq52o Jen je potřeba při tomto zápisu dát pozor na měsíc (2. parametr Date), protože se čísluje od nuly: 0 = leden, 9 = říjen. Čas se takto bere od 0:00, takže druhý datum je ten, kdy se to již nezobrazí. |
||
FAMUL Profil * |
#3 · Zasláno: 8. 10. 2015, 18:13:13
Chtěl bych něco na podobný způsob, ale abych jen vyplnil dny v týdnu a čas od kdy do kdy a ono by se to periodicky opakovalo.
|
||
Časová prodleva: 4 dny
|
|||
Chci Profil * |
#4 · Zasláno: 12. 10. 2015, 20:09:14
Taki bysem chtel ňeco podobnýho
|
||
juriad Profil |
Chci:
FAMULE, FAMULE. Co třeba zpřesnit otázku než se vydávat za někoho jiného? Jak ta periodicita má fungovat (má být týdení, měsíční)? Má k tomu být nějaké rozhraní pro administrátora? Může být několik intervalů v jeden den? Chceš to řešit na straně serveru (v Drupalu) nebo u klienta (v JS)? Drupal moc lidí nezná, takže proto ti asi nikdo neodpovídá. |
||
FAMUL Profil * |
#6 · Zasláno: 12. 10. 2015, 20:28:37
Chtěl bych to řešit přes JS a perioda by byla týdenní.
Chtěl bych aby vždy v pondělí od 12:20 do 14:00 byl text Okno v úterý od 12:00 do 15:00 Dveře, od 15:00 do 16:00 skříň, od 16:00 do 17:00 postel, od 17:00 do 20:00 postel ve středu (viz pondělí) ve čtvrtek od 12:00 do 16:00 Podlaha, od 16:00 do 17:00 Krb, od 17:00 do 18:00 Klika Ve zbytku času by bylo uvedeno: Nic na akci Bez rozhraní pro admina |
||
smitka Profil |
#7 · Zasláno: 12. 10. 2015, 21:22:28
Lze na to jit nejak podobne:
jsfiddle.net/bdxshncj |
||
FAMUL Profil * |
Děkuji mnohokrát, script už běží a je nastaven :)
Ale nefunguje v Mozille Firefox |
||
smitka Profil |
#9 · Zasláno: 13. 10. 2015, 12:02:28
To už je problematika kompatibility prohlížečů - pro nové prohlížeče je dobré nahradit innerText za textContent, ten ale zase nefunguje ve starších IE. Prakticky všude funguje innerHTML, ale ten při nevhodném použití může představovat bezpečnostní riziko. Při použití nějakého frameworku typu jQuery lze použít jeho funkce, které nekompatibilitu řeší.
Ručně to lze vyřešit například testem, zda textContent existuje: if (typeof document.getElementById("spravny_cas").textContent !== "undefined") { document.getElementById("spravny_cas").textContent = text; } else { document.getElementById("spravny_cas").innerText = text; } Porovnání podporovaných vlastností je na: quirksmode.org/dom/html |
||
juriad Profil |
smitka:
A proč nepoužít vlastnost innerHTML, která funguje všude? V tomto případě ani text neobsahuje nic, co by vyžadovalo speciální zacházení.
|
||
Keeehi Profil |
#11 · Zasláno: 13. 10. 2015, 12:27:37
Ještě se dá vytvořit text node a ten vložit do #spravny_cas.
|
||
smitka Profil |
juriad:
já se obecně innerHtml bojím, dnes to může být jen text, zítra se do něj dá část řetězce z URL a problém je na světě. Uznávám, že jsem innerText poradil vcelku blbě, protože je to hlavně IE věc, řešil jsem hlavně princip rozhodnutí co se má zobrazit než samotné zobrazení... Keeehi: „Ještě se dá vytvořit text node“ Toto řešení se mi líbí var node = document.createTextNode(text); document.getElementById("spravny_cas").appendChild(node); |
||
Dotaz Profil * |
Neumím si z toho nic vzít, jak použít ten kód?
Už jsem to dal do kupy a jede, díky moc :) |
||
Časová prodleva: 9 let
|
0