2017-01-23 5 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

у вас есть идентификатор как #top, вот почему ваш селектор не соответствует – Deep

+0

У вас нет элемента с 'id' из' top'. Если вы хотите перейти в начало страницы, просто используйте 'scrollTop: 0' –

+0

Спасибо, ребята, заметили это. Типичные понедельники: P –

ответ

3

Это ошибка, потому что она не может найти ваш элемент с id от top.

Ознакомившись с вашим кодом, вы указали в своем id имя.

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

должен быть

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

А какая ошибка новобранец, спасибо, что заметили это! Я соглашусь скоро :) –

+0

@BarryMichaelDoyle случается с лучшими из нас! –

Смежные вопросы