HTML - Ссылки и ID

0

У меня есть веб-сайт, в котором, в HTML-коде, у меня есть навигационное меню:

<a href="#section1"> blabla </ a>

и в этом специальном разделе:

<p id="section1"> blabla </ p>

Потому что, когда я www.prova.it/# section1 " в URL-адресе, вы не www.prova.it/# section1 как www.prova.it/# section1 а только как www.prova.it?

  • 1
    Вы уверены, что нажимаете правильное «блабла»?
  • 0
    Убедитесь сами, попробуйте изменить разделы ... URL не изменился .. 'mobshop.altervista.org'
Показать ещё 1 комментарий
Теги:

1 ответ

1

Да, это работает!

Когда вы нажимаете на гиперссылку с идентификатором элемента, браузер перемещает вас (прокручивает) к элементу!

Таким образом, эта ссылка <a href="#section1">blabla</a> всегда будет перемещать браузер в местоположение элемента!

Довожу до вашего сведения

Для вашей информации: один HTML DOM может иметь только один элемент с указанным ID, поэтому в вашем документе вы можете добавить #section1 только к одному элементу, а другие элементы должны иметь отдельный идентификатор!

Что не так; что может быть

Ваши элементы идеальны! Гиперссылка приведет клиента (пользователя) к местоположению элемента. Единственная проблема, с которой вы могли столкнуться, - это

  1. Неправильный идентификатор или ошибочный элемент нажата!

  2. Элемент и гиперссылка на одной странице, без прокрутки!
    Этот тип ошибки обычно возникает, когда документ выделен, и браузер больше не может прокручивать документ! Таким образом, вы не сможете увидеть изменения в свитке!

Вот ваш код

Вот ваш код: http://jsfiddle.net/afzaal_ahmad_zeeshan/5e7TF/

Я просто добавил некоторые поля для p как

#section1 {
  margin: 500px;
}

И когда я нажал на ссылку, она переместила браузер вниз!

Что может вызвать изменение URL-адреса

Теперь ошибка на вашей странице, почему она не меняет URL-адрес, заключается в том, что вы используете либо

return false;

Или это:

event.preventDefault();

По URL-адрес остается неизменным!

Попробуйте это для исправления

Итак, попробуйте следующее:

$('a[href="#section1"]'.click(function () { // jQuery
   history.pushState('', 'Page Name', '#section1');
}

Пример для history.pushState

Вы можете проверить это здесь: http://html5.gingerhost.com Попробуйте загрузить некоторые новые страницы.

  • 0
    event.preventDefault() не является специфичным для jQuery. Это объект event так как preventDefault() является нативным JavaScript.
  • 0
    О, я прошу прощения за эту ложную информацию, но я начал свой путь разработки с jQuery, поэтому я не очень разбираюсь в чистом Javascript и спасибо за исправление, сэр! :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню