Autor | Zpráva | ||
---|---|---|---|
Mlocik97 Profil * |
Zdravím, zde som sa pýtal za ukotvenie menu:
Ukotvenie menu a prišla mi suprová rada od Trejpa, avšak kód: var element = document.getElementById('menu'); function pozice() { var posun = (window.pageYOffset || document.documentElement.scrollTop) - (document.documentElement.clientTop || 0); if (posun > 150) { element.style.position = 'fixed'; element.style.top = '0'; } else { element.style.position = 'absolute'; element.style.top = '150px'; /* 150 px = výška záhlaví */ } } window.onscroll = pozice; neviete poradiť ako to spraviť? môj kód: github.com/Mlocik97/web ukotvoval som divy "menu1" a "menu2" a "aside". Mlocik97: kód som len máličko prispôsobil ku svojmu, ovšem zmeny by nemaly súvisieť s tým že to nefunguje na viac divov. (písal som osobitne 3 súbory script.js (každý ináč nazvaný a každý mal ukotviť iný div) Mlocik97: to vidieť zde: github.com/praxb4-mps/web Mlocik97: vlastne to chcem dosť podobne ukotviť ako sa ukotvuje to na tejto stránke: www.w3schools.com/html/default.asp |
||
Chamurappi Profil |
#2 · Zasláno: 26. 2. 2017, 01:41:37
Reaguji na Mlocika97:
„funguje len pre jeden div“ Protože přepisuješ stále tentýž onscroll . Možná si i přepisuješ funkci pozice a proměnnou element , nevím, zda tě napadlo je přejmenovat.
Přidej i to druhé ukotvování dovnitř funkce pozice . Nebo si zaveď dvě různé funkce a do onscroll přiřaď funkci, která obě zavolá… ale v takovém případě tedy ten posun počítej jen jednou v onscroll u a předávej ho jako argument do obou těch funkcí (není nutné ho počítat dvojmo, vyšel by stejně).
Na kód na githubu jsem se nekoukal, pardon, je moc pracné se k němu proklikat… a na W3Schools jsem také nekoukal, protože bych se styděl mít tuto stránku v prohlížečové historii :-) |
||
Mlocik97 Profil * |
Chamurappi:
mám ukotvenie1 ukotvenie2 a ukotvenie3 a taktiež posun1 posun2 a posun3. Akurát tie elementy som nepremenoval. a proměnnou element, nevím, zda tě napadlo je přejmenovat. no to som neudelal,... (u mňa sa funkcia volá ukotvenie1,2,3) akurát ako by som mohol pomocou onscroll zavolať všetky funkce naraz? a tie elementy ako premenovať? som skušal napísať element1.style.osition = 'fixed'; ale pak to nefungovalo, v JS som začiatočník. Mlocik97: aj keď teoriu zväčša chápu. |
||
Časová prodleva: 7 let
|
0