2014-02-05 57 views
0

我有一個固定的標題欄具有基本的導航像這樣:簡單的jQuery scrollTo將無法正常工作/動畫

<html> 
<head></head> 
<body> 
<ul class="nav navbar-nav"> 
    <li><a id="aboutme" href="#about-me">About</a></li> 
    <li><a id="workme" href="#work-me">Work</a></li> 
    <li><a id="contactme" href="#contact-me">Contact</a></li> 
</ul> 
... 
.. 
. 
<div id="about-me"> 
</div> 
</body> 
</html> 

我希望這些使用「線性直接在同一頁面中的部分」,‘慢’的動畫值,但我的代碼是不工作:

$(document).ready(function() { 

    $('aboutme').click(function() { 
    $.scrollTo($("#about-me"),{duration: 1}); 
    }); 
}); 

你知道我的語法出了什麼問題?我需要使用github上的jQuery animatedScroll來實現這個功能嗎?

謝謝:)

+0

你有一個插件,它會給你一個'$ .scrollTo'功能,或者是它只是嘗試一些你出於某種原因? – adeneo

+0

'$('aboutme')。click'必須是'$('#aboutme')。click' ??假設你正在使用一個解釋其他語法代碼的插件。 – DaniP

+0

此功能沒有使用插件,但在github上有一個名爲'animatedScroll'的可用 – tom1bomb

回答

0

總之,這裏的如何動畫滾動無需插件?

$(document).ready(function() { 
    $('#aboutme').click(function(e) { 
     e.preventDefault(); 
     $('body, html').animate({scrollTop : $('#about-me').offset().top}, 'slow'); 
    }); 
}); 
0

我猜你正在使用這個ScrollTo插件。

在你的函數的第一參考以及你的按鈕,您可以:

$( 'aboutme')

必須

$( '#aboutme')

然後設置時間值僅爲,是這樣的:

$('#aboutme').click(function(e) { 
    e.preventDefault(); 
    $.scrollTo($("#about-me"),800); 
}); 

入住這Demo Fiddle