Autor Zpráva
Thomas777
Profil
Zdravím všechny, hledám způsob, jak ukotvit menu k levé části stránky poté, co uživatel bude scrollovat stránkou níže.
příklad na adrese https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form mluvím o prvku IN THIS ARTICLE, který se z prvu načtení stránky zobrazuje na své SPRÁVNÉ pozici, následně je však silou kolečka stlačen níž, nikdy však tak, aby zcela zmizel ze stránky, právě naopak, zůstane na její nejpodstatnější části. Víte jak mi poradit? Děkuji.
Karel N.
Profil *
hotových řešení na tohle je haldy, ať už od obyčejného position: fixed po nějaké javascriptové knihovny http://webpop.github.io/jquery.pin/ nebo http://viget.com/inspire/jquery-stick-em

PS: "je však silou kolečka stlačen níž" panejo to jsou formulace :)
Thomas777
Profil
Karel N.:
raději bych viděl další haldy, než použil jquery... odkaz na JS v kombinaci s CSS Karle asi nemáte, že ne?
Karel N.
Profil *
No už mám, bych se musel stydět, kdybych to nedokázal obratem napsat ;) http://jsfiddle.net/AoJHgTS/ejxqtwu8/embedded/result/ (napravo v rohu je odkaz na zdroják). Každopádně se jedná jen o demo s pár mouchama, ale v IE8 by to také mělo fungovat, určitě si ho dokážeš upravit podle sebe a hlavně aspoň vidíš, že v tom není naprosto nic složitého.

Každopádně kdyby moje řešení nebylo dostatečné, tohle by mělo již stačit https://github.com/wilddeer/stickyfill
Taps
Profil
Thomas777:
http://jecas.cz/sidebar
Chamurappi
Profil
Reaguji na Karla N.:
ale v IE8 by to také mělo fungovat
S addEventListener těžko.
Karel N.
Profil
[#6] Chamurappi máš pravdu, za chybu se omlouvám, ulítlo mi to, myšleno bylo IE9. To není ani jediná věc, co by v IE8 nefungovala :)
Chamurappi
Profil
Reaguji na Karla N.:
To není ani jediná věc, co by v IE8 nefungovala :)
Ano, druhá věc je bind tamtéž…

myšleno bylo IE9
Nefunguje ti to nikde vyjma webkitů a starších Explorerů v quirku, protože používáš scrollTop na <body> (edit: ale v těch starších Explorerech zase vadí ostatní věci).
Karel N.
Profil
Ok, dávám úplně pryč podporu něčeho jako IE ;), na ostatních enginech to musí fungovat řádně. Nejspíš to bude také zlobit na dotekových zařízeních a bylo by vhodné kontrolovat pozici elementu, aby se nedostal za viditelnou oblast. Nešlo mi o poskytnutí hotového řešení, ale ukázat samotný algoritmus, zírám kolik věcí už neznám. Raději již do toho nebudu mluvit.
Chamurappi
Profil
Reaguji na Karla N.:
na ostatních enginech to musí fungovat řádně
V Mozille ne, protože používáš scrollTop na <body>. Všechny prohlížeče vyjma webkitů mění scrollTop na <html>.
Karel N.
Profil
Dobře :), děkuji za opravu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: