CeSaRo 0 Опубликовано: 18 марта 2018 Рассказать Опубликовано: 18 марта 2018 (изменено) У меня на сайте фиксированное меню, и мне нужно сделать чтоб меню не наезжало на текст 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> Изменено 18 марта 2018 пользователем CeSaRo Цитата Ссылка на сообщение Поделиться на других сайтах
redissx 251 Опубликовано: 20 марта 2018 Рассказать Опубликовано: 20 марта 2018 (изменено) В 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*="#"] Изменено 20 марта 2018 пользователем redissx Цитата Ссылка на сообщение Поделиться на других сайтах
CeSaRo 0 Опубликовано: 21 марта 2018 Рассказать Опубликовано: 21 марта 2018 (изменено) Автор 10 часов назад, redissx сказал: Дело в a[href^="#"] Это означает, что ссылка должна начинаться с # . У вас же начинается с http:// Попробуйте заменить на a[href*="#"] Но желательно добавить еще класс обертки текста фуллстори, чтобы не глобально распространялось. .класс a[href*="#"] сделал http://joxi.ru/xAeMKvlTYd4dJA но все равно не работает здесь можно попробовать разный код http://jsfiddle.net/gg7hg7m8/80/ я так понимаю нужно указать как-то в скрипте полный адрес к якорю Изменено 21 марта 2018 пользователем CeSaRo Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.