Pozdrav.
Radim na jednom responzivnom one page templatu i imam jednu navigaciju.Tu cu koristiti locall scroll.Znaci kada se klikne na odredjeni anchor npr. Works odskrolati ce to #works diva.
Pitanje:
Kako preko Javascripta da napravim da kada se npr nalazim na #works da anchor Works (na navigaciji) dobije .active klasu
Nadam se da nisam bio previse konfuzan
MožeÅ” naÄi njegove koordinate tj. koliko je taj element s tom klasom udaljen od vrha stranice. Kada to dobijeÅ”, gledaÅ” scroll offset i to ti je to.
1 Like
Neki primjer, jer sam relativno los sa JS-om ?
Hvala ti, ali kad sam mislio da sam los sa Javascriptom, mislio sam da sam ono bas los, totalno.
Trazio sam neko gotovo rijesnje ali nista nisam nasao.
Ako kojim slucajem koristis Bootstrap, on to vec ima integrirano (iako nisam nikada koristio): http://getbootstrap.com/javascript/#scrollspy
Takodjer imas ovo (takodjer nisam koristio): https://github.com/davist11/jQuery-One-Page-Nav
Iako je najbolje to sam napisati, uhvati se JavaScripta
1 Like
To je to, hvala
Tek sam poceo da radim sa Bootstrapom, pa dosta toga ne znam.
U planu sam duze vrijeme da ucim Javascript, ali uvijek me neka druga stvar zezne,evo sad Bootstrap
@apazinjan kada sam vidio live demo mislio sam to je to, no kada sam pokusao nisam dobio sto sam htio.
Ovo Bootstrapovo rijesenje uopste nece da radi,uradim sve kao sto pise i nista.
Ovo sa GitHuba radi djelomicno.Dobijem samo smooth scroll animaciju i nista vise, tj. ne dobijem ono sto trazim.
Treba ti visina do prvog elementa, to je kod mene headerheight. box-section klasu postaviÅ” za svaki h1 tag recimo, imaÅ” ih 5 na sajtu i to su ti sekcije koje Äe biti oznaÄene aktivne kako skrolaÅ”.
$(window).scroll(function(){
var windscroll = $(window).scrollTop();
var headerheight = $(ā#headerā).height();
if(windscroll > (headerheight + 15)) { // 15px - padding-top
$(ā#content .box-sectionā).each(function(i) {
if ($(this).position().top <= windscroll - headerheight) {
$(āul#navig li a.activeā).removeClass(āactiveā);
$(āul#navig li aā).eq(i).addClass(āactiveā);
}
});
}
else {
$(āul#navig li a.activeā).removeClass(āactiveā);
$(āul#navig li a:firstā).addClass(āactiveā);
}
});
1 Like