foxayb
@foxayb
newbie

Как сделать смещение после якоря на несколько пикселей?

У меня сейчас работает плавный якорь:
/* ####
   плавный якорь
   ####*/	
	$("body").on('click', '[href*="#"]', function(e){
		var fixed_offset = 50;
			$('html,body').stop().animate({ scrollTop: $(this.hash).offset().top - fixed_offset }, 1000);
			e.preventDefault();
	});
/*-------*/

С ним всё хорошо, но есть задача:

Сделать для id="cat_diesel" - якорь, который при смещении к нему после этого этапа - ещё дополнительно сдвигался обратно на 5 пикселей. Получается если два якоря будут рядом расположены, то я нажму и смешения не будет, т.к. он уже доехал до этого элемена, а если он будет возвращаться обратно на несколько пикселей, то при повторном нажатии он снова доедет до якоря (и вернётся обратно)

<div id="cat_diesel"></div>
            <ul class="trig_cat two">		  
              <li><a href="#cat_diesel">ЛУИ</a></li>
            </ul>
  • Вопрос задан
  • 260 просмотров
Пригласить эксперта
Ответы на вопрос 1
lamer350
@lamer350
กำลังสูงสุด
$("body").on('click', '[href*="#"]', function(e){
    var fixed_offset = 50;
      $('html,body').stop().animate({ scrollTop: $(this.hash).offset().top - fixed_offset }, 1000);
      setTimeout({ $('html,body').animate({ scrollTop: $(this.hash).offset().top - fixed_offset-5}, 50)}, 1010);
      e.preventDefault();
  });

Об остальном смещении что вы писали - не совсем понятно о чем речь, выложите код куда то для теста.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы