Пытаюсь запустить анимацию когда блок попадает во вьюпорт.
Написал такой код:
jQuery(document).ready(function ($) {
var warranty_block = $(document).find('#warranty');
$(window).on('scroll.progressbar', function () {
if ($(window).scrollTop() + $(window).height() >= warranty_block.offset().top) {
animate_progress_bar(warranty_block);
}
});
});
function animate_progress_bar(warranty_block) {
var progress_bar = warranty_block.find('.progress-bar'),
bar_value = progress_bar.attr('aria-valuenow') + '%';
progress_bar.animate({
width: bar_value,
}, {
duration: 5000,
complete: function () {
jQuery(window).off('scroll.progressbar');
}
});
}
Проблема в том, что анимация работает бесконечно, несмотря на то, что после выполнения функции анимации должен сработать метод off.
Как исправить?