2012-10-22 23 views
11

Używam ten link:gładkie przewijania z javascript onclick

<a class="" onclick="location.href='#top'" href="superContent">superContent</a> 

ona robi dwie rzeczy na raz:

  1. skoki użytkownikowi na górze strony
  2. wykonuje tę inne (niezwiązane) funkcja obciążenia ajax

Wszystko działa świetnie, z tym wyjątkiem, że staram się wymyślić, jak zmusić go do przewinięcia do góra bardziej płynnie. Próbowałem dodać .scroll, aby dołączyć go do wtyczki jQuery scrollTo, ale nic się nie dzieje, co prawdopodobnie ma coś wspólnego z faktem, że używam javascript onclick, podczas gdy atrybut href robi coś zupełnie innego.

Czy istnieje sposób dołączenia animowanego płynnego przewijania do opcji onclick = "location.href = '# top'"?

Odpowiedz

35

Spróbuj tego, animuje funkcję scrollTop(). id

zbiór połączeń za:

<a id="link">link</a> 

jquery do przewijania:

$('#link').click(function(){ 
    $("html, body").animate({ scrollTop: 0 }, 600); 
    return false; 
}); 
+2

Piękny, dzięki człowieka. – user1691389

+2

"return false" jest zdecydowanie błędny! Zamiast tego użyj funkcji "function (e) .." i "e.preventDefault()". –

+0

To jest piękny i super czysty kod. Najważniejsze jest to, że działa dobrze! – Jornes

Powiązane problemy