2013-08-13 22 views
5

Próbowałem wiele różnych kodów, aby płynnie przewijać do kotwic. Nie mogę znaleźć takiego, który działa. Musi być w stanie przewijać w pionie, w poziomie i po przekątnej. Innym problemem, który napotykam u innych, jest to, że nie działają one z wieloma celami. Chcę, aby mógł przewijać do dowolnej kotwicy na stronie bez konieczności edytowania skryptu.jQuery Smooth Przewiń do dowolnej kotwicy

Fiddle

Jest to kod, który pasuje ta najbliższa, nie mogę zmusić go do pracy:

var $root = $('html, body'); 
$('a').click(function() { 

    $root.animate({ 

     scrollLeft: $($.attr(this, 'href')).offset().left, 
     scrollTop: $($.attr(this, 'href')).offset().top 

    }, 500); 

    return false; 
}); 

to działa w JSFiddle ale kiedy kładę go na mojej stronie to nie działa.

Dlaczego to nie jest duplikat? To jest skrypt wielodrożny, który nie jest kierowany na pojedyncze elementy. Dotyczy wszystkich linków na stronie.

+0

[http://stackoverflow.com/questions/7717527/jquery-smooth-scrolling-when-clicking-an- anchor-link] (http://stackoverflow.com/questions/7717527/jquery-smooth-scrolling-when-clicking-an-anchor-link) – rps

+0

@ rps Widziałem je, ale żaden z nich nie działał. – b2550

+0

http://kadaj.github.io/tuts/smooth-scroll/smooth-scroll.html – boring

Odpowiedz

1

nie mogę dostać swoją jsfiddle do pracy, sprawdzić, czy to działa:

$(function(){ 
    $('a').on({ 
     click:function (e) { 
     e.preventDefault(); 
     var root = $("html, body"); 
     var target = $(this).attr("href"); 
     root.animate({ 
      scrollLeft: $(target).offset().left, 
      scrollTop: $(target).offset().top 
     }, 500); 
     } 
    }); 
)}; 
+0

Otrzymuję błąd z brakującym średnikiem i nie mogę zrozumieć dlaczego. To również nie działa. :( – b2550

+0

nieparzyste - nie widzę żadnego brakującego średnika, – peterchon

+0

Po prostu wypróbowałem to na jsfiddle i działa poprawnie http://jsfiddle.net/B3F25/6/ – peterchon