2017-01-23 72 views
1

我一直在嘗試使用this CSS-Tricks Snippet實現平滑滾動到頂部。用JavaScript和CSS滾動到頂部不起作用

現在我有以下的HTML:

<!-- At the top of the page --> 
<p id="content_jump" class="hide"> 
    <a id="#top"></a> 
</p> 

<!-- A bunch of content --> 

<!-- At the bottom of the page --> 
<a rel="nofollow" href="#top" id="backtotop" title="Go to top" onclick="scrollToTop();"> 
    Back to Top 
</a> 

然後,我有以下腳本:

function scrollToTop() { 
    $('html, body').animate({ 
     scrollTop: $("#top").offset().top 
    }, 1000}; 
    return false; 
} 

我期望這將順利滾動到頁面的頂部超過1秒週期。

然而,當我點擊「返回頂部」,它會立即開始在頂部和控制檯爲我提供了以下錯誤:

Uncaught TypeError: Cannot read property 'top' of undefined 
    at scrollToTop ((index):274) 
    at HTMLAnchorElement.onclick (VM1390 :245) 

上解決這個問題的任何想法,將不勝感激。

+2

你有id作爲#top返回,這就是爲什麼你選擇不匹配 – Deep

+0

你有top'的'了'id'沒有元素。如果你想去頁面的頂部,只需使用'scrollTop:0' –

+0

謝謝你們,發現它。典型的星期一:P –

回答

3

它拋出的錯誤,因爲它找不到你的元素idtop

看着你的代碼,你在你的id名稱中有錯誤。

<a id="#top"></a> 

應該

<a id="top"></a> 
+0

啊,這是一個新秀錯誤,感謝您的發現!我會盡快接受:) –

+0

@BarryMichaelDoyle碰巧對我們最好的! –