Привязанный тег href указывает на div, после нажатия он добавляет неопределенное в url

#jquery #anchor #jquery-events #anchor-scroll

#jquery #привязка #jquery-события #привязка-прокрутка

Вопрос:

У меня есть такой код:

 <a href="#div-part" title="title">go to div part<a>
<form>
...
</form>
<div id="div-part">
<div>
  

После нажатия на привязанный тег прокрутка автоматически перемещается к части div, но вместо #div-part url он добавляет #undefined в URL.
например localhost:80/index.jsp#undefined .

Пожалуйста, помогите мне в этом.

Комментарии:

1. Используете ли вы какой-либо js-код, который может повлиять на это поведение?

2. undefined не является частью HTML, поэтому вы, очевидно, используете что-то, что не публиковали.

3. в нем не задействован js. Обычный HTML, я нажимаю на привязку

Ответ №1:

Вот решение для прокрутки до определенного div

 $(function() {
    $('a').bind('click',function(event){
        var $anchor = $(this);
        $('html, body').stop().animate({
            scrollTop: $($anchor.attr('href')).offset().top
        }, 1000);       

    });
 });
  

Проверьте демонстрацию здесь.

Комментарии:

1. Черт возьми, это работает, но добавление этого фрагмента не добавит никакого содержимого в URL. Но я хочу, чтобы соответствующая часть div была добавлена в URL. Например., locahost: 80 /index.jsp#часть div

2. @user3809019 : Хорошо, я понял, проверьте мой обновленный jsFiddle и код. Я удалил эту строку : event.preventDefault();

3. jQuery для решения того, что, по словам OP, является чисто html-проблемой, кажется очень плохим.