DotDash
@DotDash
•••• • •−•• •−•• −−− •−− −−− •−• •−•• −•• −−••−−

Как отменить скролл при нажатии ссылки?

Есть страница сцылка

Есть 4 блока. В блоке 1 есть ссылки на блок2, блок 3, блок 4.
Если вы находитесь в блоке 1, то когда начаете скролить, срабатывает доводка до блока 2, далее доводка отключается.
Также имеются ссылки до соответствующих блоков.

Проблема в том, что при переходе по ссылке на блоки 3 или 4, срабатывает доводка и переводит обратно на блок 2.

Не могу понять, как правильно повесить запрет на выполнение доводки при клике на ссылку, чтобы при переходе по ссылке не возвращало обратно на блок 2.
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
DotDash
@DotDash Автор вопроса
•••• • •−•• •−•• −−− •−− −−− •−• •−•• −•• −−••−−
Переделал через onwheel jsfiddle.net/d4qdn089/8
Минус: если перейти по ссылке, а потом скроль наверх, то при достижении блока1 срабатывает доводка до блока 2. Решение: отделить нижний скролл, но мне лень.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
KickeRocK
@KickeRocK
FrontFinish
Если мы в первом блоке - доскраливает до 2 второго.
var firstHeight = $('#block1').height();
var scrollNow = $(this).scrollTop();
var target = $('#block2');
$( window ).scroll(function() {
  scrollNow <= firstHeight ? $('html,body').animate({
      scrollTop: target.offset().top
    }, 1000);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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