Jest to w zasadzie przedłużeniem odpowiedzi powyżej, ale realizowane je nieco inaczej do bardziej zintegrowanego podejścia. Nie oczekuję żadnych punktów za oryginalność, ale może to może komuś pomóc.
Jak wspomniano w odpowiedzi, dodaj scrollTo() skrypt:
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/1.4.3/jquery.scrollTo.min.js"></script>
W odnaleźć pliku bootstrap.js:
// SCROLLSPY CLASS DEFINITION
// ==========================
W deklaracji zmiennych, tuż pod this.process()
dodać zmienna:
this.scroll()
Następnie pod ScrollSpy.prototype.activate
funkcja i powyżej:
// SCROLLSPY PLUGIN DEFINITION
// ===========================
dodać swoją metodę przewijania():
ScrollSpy.prototype.scroll = function (target) {
$('#spyOnThis').bind('click', 'ul li a', function(event) {
$.scrollTo(event.target.hash, 250);
});
};
Ten pracował dla mnie. Jeszcze raz dziękuję za pomocne porady powyżej.
Trochę więcej pomocy byłoby wspaniale! Gdzie dokładnie umieszczam komendę scrollTo, np. '$ .scrollTo ('#' + cel ', 1000);'? – thv20
scrollspy nie obsługuje ruchu do elementu, odbywa się to natywnie przez przeglądarkę.Cała robota szpiegowska zmienia wybrany element, gdy użytkownik przewija. Oto szybkie wdrożenie scrollTo, które powinno pomóc: http://jsfiddle.net/flabbyrabbit/69z7x/ – FlabbyRabbit
Brilliant! Jedno ostatnie pytanie, czy mogę ustawić top-offset? Proszę zobaczyć tutaj w celach informacyjnych: http://jsfiddle.net/69z7x/5/ Więc tutaj będzie offset 200px. – thv20