Перейти к публикации

Как сделать отступ от якоря когда на сайте фиксированное меню


Рекомендованные сообщения

У меня на сайте фиксированное меню, и мне нужно сделать чтоб меню не наезжало на текст http://joxi.ru/Drl0XbPc47G1br

а чтоб было примерно так http://joxi.ru/vAWn9L1Uk8B4q2

ссылки на якорь имеют такой вид http://joxi.ru/eAOd9RaU4O6g7r и таких страниц много, поэтому поставить id для блока не получится, нужно сделать чтоб все ссылки в адресе которых есть хештег # при нажатии отступали на 150-200 пикселей сверху от самого якоря

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

 

 <script>
$('a[href^="#"]').click(function () {
var target = $(this).attr('href');
$('html, body').animate({scrollTop: $(target).offset().top - 150 }, 800);
return false;
});
</script>

 

Изменено пользователем CeSaRo
Ссылка на сообщение
Поделиться на других сайтах
В 18.03.2018 в 11:10, CeSaRo сказал:

У меня на сайте фиксированное меню, и мне нужно сделать чтоб меню не наезжало на текст http://joxi.ru/Drl0XbPc47G1br

а чтоб было примерно так http://joxi.ru/vAWn9L1Uk8B4q2

ссылки на якорь имеют такой вид http://joxi.ru/eAOd9RaU4O6g7r и таких страниц много, поэтому поставить id для блока не получится, нужно сделать чтоб все ссылки в адресе которых есть хештег # при нажатии отступали на 150-200 пикселей сверху от самого якоря

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

 


 <script>
$('a[href^="#"]').click(function () {
var target = $(this).attr('href');
$('html, body').animate({scrollTop: $(target).offset().top - 150 }, 800);
return false;
});
</script>

 

Дело в

a[href^="#"]

Это означает, что ссылка должна начинаться с # . У вас же начинается с http://

Попробуйте заменить на

a[href*="#"]

Но желательно добавить еще класс обертки текста фуллстори, чтобы не глобально распространялось.

.класс a[href*="#"]
Изменено пользователем redissx
Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, redissx сказал:

Дело в


a[href^="#"]

Это означает, что ссылка должна начинаться с # . У вас же начинается с http://

Попробуйте заменить на


a[href*="#"]

Но желательно добавить еще класс обертки текста фуллстори, чтобы не глобально распространялось.


.класс a[href*="#"]

сделал http://joxi.ru/xAeMKvlTYd4dJA но все равно не работает 

здесь можно попробовать разный код http://jsfiddle.net/gg7hg7m8/80/ 

я так понимаю нужно указать как-то в скрипте полный адрес к якорю 

Изменено пользователем CeSaRo
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...