#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-проблемой, кажется очень плохим.