2016-07-13 5 views
0

, поэтому я столкнулся со многими темами, как это, но ничто из этого не решило мою проблему. То, что я хотел для своей функции, - это когда пользователь перешел на следующую страницу, пользователю пришлось ждать анимации scrollTop, чтобы достичь цели, прежде чем делать что-то еще. Пожалуйста, помогите мне в этом коде.jquery: Как подождать scrollTop анимации, чтобы закончить, прежде чем что-то сделать?

мой Jquery код что-то вроде этого:

if(status == 1) { 
    $('html,body').animate({scrollTop: $("#b2").offset().top},900); 
    prev.style.display = "block"; 
    b1Slide_b('b1'); 
    b1Slide('b2'); 
    status = 2; 
} else if(status == 2) { 
    $('html,body').animate({scrollTop: $("#b3").offset().top},900); 
    b1Slide_b('b2'); 
    b1Slide('b3'); 
    status = 3; 
} 

ответ

1

одушевленные Jquery имеет функцию обратного вызова для того, когда анимация завершена. Вы можете использовать это, добавив функцию после параметра продолжительности, например

$('html,body').animate({scrollTop: $("#b2").offset().top},900, function() { 
    //EXECUTES WHEN ANIMATION COMPLETES 
}); 

Для получения дополнительной информации ознакомьтесь с и https://jsfiddle.net/Lmf78jqd/

Смежные вопросы