Geek tričko zdarma Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Avatar
Luboš Hnědý:12. února 22:16

Zdravím mám následující problém. Mám stránku a mám zde tlačítko, které mi přes stránku hodí šedý efekt. Takové to známe, když chcete večer tmavší stránku. Hážu tam prostě jenom overlay. A tohle nastavení si ukládám do cookie, Aby to při překliknutí na jinou stránku zůstalo. Tady nastává ten problém ono to při načtení jiné stránky problikne což je logické musí se to vytáhnou a podle toho to zobrazit. Není nějaká možnost, jak to obejít? Předem díky za info a jakoukoli pomoc :)

Zkusil jsem: Hledat na googlu, ale nevím jak to přesně formulovat.

Chci docílit: Dobré funkčnosti, bez problikávání.

 
Odpovědět 12. února 22:16
Avatar
gold604
Člen
Avatar
gold604:12. února 23:03

Ahoj, skúšal si inline javascript v headeri?

 
Nahoru Odpovědět 12. února 23:03
Avatar
Odpovídá na Luboš Hnědý
Martin Donát:13. února 0:39

Ahoj, pokud přecházíš mezi jednotivími stránkami, tak ti to vždy problikne. Pokud je to vhodné pro tvou aplikaci, tak řešením by bylo použít třeba AJAX. Kdy jsi schopen načíst data jiné stránky na pozadí asynchronně skrze javascript. A ty pak na dané stránce vyměnit. :-)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 13. února 0:39
Avatar
Odpovídá na Martin Donát
Luboš Hnědý:13. února 7:31

V header jsem to nezkoušel zkusím. To je ryhlejší?
To by ale byl stejný problém ne?

 
Nahoru Odpovědět 13. února 7:31
Avatar
Odpovídá na Luboš Hnědý
Vladislav Ladicky:13. února 13:49

Áno, bude to to isté, nemá zmysel to dávať do header. Jediné spoľahlivé riešenie je také, ako napísal Martin Donát - neopustiť stránku, nový obsah načítať na pozadí AJAX-om. Na čo ale treba samozrejme prerobiť celý web...

 
Nahoru Odpovědět 13. února 13:49
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13. února 14:37

Pokud to chces nacist pred strankou, tak lze pouzit inline js, jak psal gold604, ale asi je jedno, zda je v hlavicce a nebo na zacatku body. Ne kazdy prohlizec se s tim popere stejne, takze by to bylo nespolehlive.

Bez problikavani lze pouzit jen ajax, nacitat stranky na pozadi.

Neco malo umi tusim IE, transition efekt v hlavicce pres meta. Umi z jedne stranky plynule zobrazit jinou pres opacitu.

<meta http-equiv="Page-Enter" content="revealTrans(Duration=**,Transition=?)">

http://www.simplehtmlguide.com/…nsitions.php

 
Nahoru Odpovědět 13. února 14:37
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Luboš Hnědý:13. února 15:52

Díky za rady. Trochu jsem z toho měl strach, že to jinak nepůjde. Ale bohužel nemůžu celý web přenačítat přes ajax. Díky za rady a nápady. :)

 
Nahoru Odpovědět 13. února 15:52
Avatar
gold604
Člen
Avatar
Odpovídá na Peter Mlich
gold604:13. února 18:33

Moja chyba, ten inline js by nemal byt v hlavičke, ale až za otváracím tagom elementu, ktorému chce upraviť css, pretože inak by v DOM nebol ten element a teda by nešlo upraviť jeho style.

Testoval som v iných browseroch a zistil som, že väčšinou browser nerenderuje nedokončený render tree(webkit) respektíve frame tree(gecko).

Tu je demo s inline js pri </body>, ak by niekto chcel skúsiť: https://jsfiddle.net/62tzmave/show.

Editováno 13. února 18:36
 
Nahoru Odpovědět 13. února 18:33
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Luboš Hnědý
Taskkill:13. února 22:39

Mohl bych se zeptat, ktere probliknuti mas na mysli?

Probliknuti prohlizece, kdyz nacita novou stranku -> vidis na maly moment prazdnou bilou stranku

Probliknuti toho tveho prekryvu -> vidis na maly moment tvuj web bez nocniho rezimu.(a predtim vidis prazdnou stranku)

Pokud ti vadi to prvni, samozrejme je spravne napsat web vic smerem k architekture single page appky, nicmene existuje jeste jedno dirty fix reseni. Muzes nacitat web uvnitr iframe a hlavni okno si nechat jenom na onen prekryv tmavym pruhlednym elementem. Pak sice web v iframe problikne, ale bude vzdycky za nocnim zavesem, takze to oci uzivatele nijak zvlast nesokuje.

Pokud resis ten druhy pripad probliknuti, pak je cesta v javascriptu hned na zacatku stranky, tak aby se provedl jako prvni, driv nez se dorenderuje body, rovnou tam dynamicky appendnes overview element, to zabere min nez 10ms, toho si lidske oko ani nevsimne.

 
Nahoru Odpovědět  +1 13. února 22:39
Avatar
Peter Mlich
Člen
Avatar
Odpovídá na gold604
Peter Mlich:14. února 8:49

No, ja mam prave z ruznych diskuzi info, ze se tagy script zpracovavaji obcas dost odlisnym zpusobem. Ze ho treba spusti (IE) na pozadi dopredu. V takovem pripade nevim, do jake miry se da spolehnout na to, ze se ten kod vykona drive nez ze zobrazi dalsi html kod a ne opacne. Jinak bych to resil samozrejme presne takhle, protoze by to melo fungovat.

To reseni, co psal Taskkill, s hlavnim oknem a framem, to take neni spatne. Kdyz by se mu nechtelo drbat s js ajaxem.
Tez tusim nekdo psal one-page a jenom treba javascriptem nastavovat display:block pro tu cast, co potrebujes, to je take dobre.
A i ostatni.

 
Nahoru Odpovědět 14. února 8:49
Avatar
gold604
Člen
Avatar
Odpovídá na Peter Mlich
gold604:14. února 22:10

Ešte tu je jedna možnosť - urobiť to server side, ale keďže toto vlákno je v javascript sekcií tak pravdepodobne autor chcel iba client side riešenie. A to, že IE renderuje frame a spúšta js paralelne nie je pravda(aspoň v mojom prípade): tu je časová os :)

 
Nahoru Odpovědět 14. února 22:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.