jQuery показывает DIV и прокручивает до него без хэштега в url

#jquery #hash

#jquery #хэш

Вопрос:

У меня есть следующий простой jQuery:

             $('#features').hide();

            $('#more').click(function(e)
            {
                e.preventDefault();
                $('#more').hide();
                $('#features').show();
            });
  

Это показывает DIV, когда пользователь нажимает на ссылку «Еще» и использует метод preventDefault, #features хэш не добавляется к URL. Однако я все еще хочу прокрутить вниз до этого DIV таким же образом, как при передаче хэша URL-адресу, просто не показывать его в адресной строке. Как мне это сделать? Спасибо

Примечание: Я не ищу никаких необычных эффектов и т.д., Поэтому не хочу использовать плагины, такие как scrollTo и т.д.

Ответ №1:

Вам нужно будет использовать $(window).scrollTop() :

 $('#more').click(function (e) {
    e.preventDefault();
    $('#more').hide();
    $('#features').show();
    $(window).scrollTop($('#features').offset().top);
});
  

Ответ №2:

Просто используйте scrollTop

 $('html, body').scrollTop($("div#features").offset().top);
  

http://jsfiddle.net/niklasvh/4XEVc/