Выполнять действия во время jquery .animate ()

0

У меня есть этот маленький фрагмент кода, чтобы сделать прокрутку браузера вверху:

$('html, body').animate({scrollTop: 0}, 500, "easeOutQuart");

И я хочу отключить прокрутку пользователя во время работы этого кода и снова включить его после окончания анимации. Как бы Вы это сделали? Какой лучший способ сделать это?

Теги:

2 ответа

0
Лучший ответ

Отключите его непосредственно перед вызовом анимации и включите его в опции обратного вызова анимации:

//Disable here

$('html, body').animate({scrollTop: 0}, 500, "easeOutQuart", function() {
    //enable here
});
0

Вы можете скрыть полосу прокрутки на некоторое время, а затем снова включить

 var htmlBody = $('html, body');
 htmlBody.css("overflow","hidden")
         .animate({
             scrollTop: 0
          }, 500, "easeOutQuart",function(){
                htmlBody.css("overflow","auto");
          });

Проверьте этот FIDDLE

Ещё вопросы

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