jQuery на scroll к элементу

199
11 сентября 2018, 14:20

В общем у меня есть обычный bootstrap progress bar

<div class="progress">
  <div class="progress-bar progress-bar-striped" role="progressbar" style="width: 0" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>  
</div>

Также у меня есть jQuery скрипт, который увеличивает ширину прогресс бара

$(".progress-bar").each(function () {
  $(this).animate( {width: $(this).attr('aria-valuenow') + '%' }, 2000 );
});

Мне нужно чтобы этот скрипт выполнялся только тогда, когда сам .progress находится в зоне видимости экрана.
Я пытался запускать вот этот скрипт:

$(window).scroll( function(){
  $(".progress-bar").each(function () {
    var bottom_of_object = $(this).position().top + $(this).outerHeight();
    var bottom_of_window = $(window).scrollTop() + $(window).height();
        if( bottom_of_window > bottom_of_object ){
            $(this).animate( {width: $(this).attr('aria-valuenow') + '%' }, 2000 );
        }
    });
});

Но почему то мой прогресс бар начинает дергаться и очень медленно грузится.
Как сделать чтобы мой скрипт начал работать только тогда, когда я пролистываю страницу до элемента .progress или элемент находится в зоне видимости экрана при загрузке страницы.
Буду благодарен за любую помощь.

READ ALSO
Как сделать скрол вниз?

Как сделать скрол вниз?

Если в двух словах то я никак не пойму как делать скрол в низ, либо подгружать контент на таких сайтах как вк(стенки), pinterestcom или deviantart

191
Многоразовое копирование

Многоразовое копирование

Задача: Запустить программуВсе то, что было скопировано за время работы программы - сохранять в листе

179
Странно работает цикл for в C#

Странно работает цикл for в C#

Делал задачку на цикл, решил пошагово посмотреть как все работает и встал в ступорПочему не выходит из цикла когда j = 4?

198
SignInManager.CreateUserPrincipalAsync() выдаёт NullReference

SignInManager.CreateUserPrincipalAsync() выдаёт NullReference

Пытаюсь вызвать signInManagerCreateUserPrincipalAsync(user), а он чудит:

201