Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 12. 11. 2015, 01:17:49
Riesim jeden problem a neviem si rady.
Mam jednostrannu stranku po ktorej sa chcem pohybovat scrollovanim na zaklade kotiev. Menu mam napoziciovane relativne a po zoscrollovani o 200 px sa mi zmeni na position fixed aby bolo vzdy na vrchu. Problem: Pri kazdom odkaze v menu mam href="#kotva" V javascripte to riesim takto. $('.menu a').click(function(event){ event.preventDefault(); var anchorId = $(this).attr("href"), target = $(anchorId).offset().top; $("html, body").animate({scrollTop : target }, 1000 ); }); Funguje to dovtedy dokedy sa menu nezmeni na fixed (teda po zoscrollovani). Potom target pocita bludy a posuva ma to hocikam. Chcem sa preto opytat odkial pokial pocita offset().top vysku ? je to od kotvy po horny okraj prehliadaca, alebo od kotvy po fixne napoziciovany div? vdaka M. |
||
Chamurappi Profil |
#2 · Zasláno: 12. 11. 2015, 01:29:52
Reaguji na Monkeyse:
„Chcem sa preto opytat odkial pokial pocita offset().top vysku ?“ Metodou getBoundingClientRect() zjistí pozici elementu v rámci zobrazovací plochy prohlížeče a přičte k ní současný stav odrolování. Takže je to pozice ve vztahu k levému hornímu rohu stránky.
„Potom target pocita bludy a posuva ma to hocikam.“ A on ti ten element poskočí? Proč? Udělej to tak, aby neposkakoval. Pokud něčemu změním pozicování ze statického na fixní, tak většinou dám na původní místo nějakou stejně velkou vycpávku. Nebo nemám vůbec statické pozicování, jen absolutní přepínané na fixní. |
||
Monkeys Profil * |
Chamurappi:
Vdaka za odpoved Ja sa stym este hram a zistujem ze vobec mi nereaguje udalost $(window).scroll; Zapisane to mam takto. $(document).ready(function(){ $(window).scroll(function(){ console.log("test"); }); }); Zabudol som oznacit kod Moderátor juriad: Opraveno.
|
||
Monkeys Profil * |
#4 · Zasláno: 12. 11. 2015, 22:34:56
No po 2 dlhych dnoch som to vyriesil.
Problem bol v deklaracii css stylu body. preto nefungoval ani $(window).scroll moja povodna deklaracia bola html, body { padding:0; margin:0; font-size:100%; overflow:auto; height:100%; } po prepisani deklaracie na toto html, body { padding:0; margin:0; font-size:100%; overflow:auto; height:auto; min-height:100%; } Ujo GOOGLE pomohol a usetril mi kopu problemov! M. |
||
Časová prodleva: 8 let
|
0