Показать сообщение отдельно
  #1 (permalink)  
Старый 08.02.2017, 15:00
Аватар для villiwalla
Интересующийся
Отправить личное сообщение для villiwalla Посмотреть профиль Найти все сообщения от villiwalla
 
Регистрация: 16.02.2016
Сообщений: 29

Как установить по очередный запуск функции на анимации элементов, при скроле
На странице есть 2-ве секции которые содержат в себе от 5 до 6 элементов. При скроле страницы до секции с элементами, запускается функция с добавлением класса активного состояния (анимацией). Но сейчас, при прокрутке до 1-й секции сейчас запускается анимация сразу на 2-й секции и докрутив уже до второй секции анимация не запускается т.е функция уже проставила активный класс всем элементам ещё в тот момент когда запустилась на 1-й секции. Как можно организоваться нормальный порядок запуска анимации?

window.onscroll = function () {
    programmList('#standart');
    programmList('#addational');
};

function programmList(ind) {
    var section =  document.querySelector(ind);

    var toSection = section.getBoundingClientRect().top;

    if(window.pageYOffset >= (toSection + 200)) {
        var sectionItem = section.querySelectorAll('.programm__item');

        console.log('Start Animation ' + ind);

        var i = 0;
        var speed = 500;

        var activeItem = setInterval(function () {
            sectionItem[i].classList.add('programm__item_active');
            i++;
            if(i >= sectionItem.length) {
                clearInterval(activeItem);
            }
        }, speed)
    }
}


<header> 
 // Первый экран и навигация
</header>
<section id="presentation" class="presentation">
    <div id="presentation__slide" class="slide">
        <ul class="slide__outer">
            <li class="slide__item">
                <img src="/image/slide/slide1.jpg" alt="" class="responsive-img">
            </li>
            <li class="slide__item">
                <img src="/image/slide/slide2.jpg" alt="" class="responsive-img">
            </li>
            <li class="slide__item">
                <img src="/image/slide/slide3.jpg" alt="" class="responsive-img">
            </li>
            <li class="slide__item">
                <img src="/image/slide/slide4.jpg" alt="" class="responsive-img">
            </li>
            <li class="slide__item">
                <img src="/image/slide/slide5.jpg" alt="" class="responsive-img">
            </li>
            <li class="slide__item">
                <img src="/image/slide/slide6.jpg" alt="" class="responsive-img">
            </li>
        </ul>
    </div>
    <div class="presentation__content">
       <p>Итальянское искусство во всей своей многогранности: чудная аура керамики, гастрономия и виноделие. Словно ожившие пейзажи художников эпохи Возрождения в уникальных ландшафтах Равенны, Римини, Болоньи.</p>
       <p>Знакомство с мастерами гончарного искусства, их ремеслом. И, говорим по-итальянски! Возможность изучения итальянского языка в рамках эффективного курса обучения во время путешествия, результатом которого станет Ваше взаимопонимание и успешное общение с Италией, ее искусством, культурой и традициями.</p>
    </div>
</section>
<section id="addational" class="programm__addational">
    <h1 class="programm__headig text-center">Индивидуальныя программа:</h1>
    <p class="programm__content">Каждая программа может быть изменена и осуществлена по требованиям участников с предварительным определением стоимости дополнительных мастер классов и экскурсий.</p>
    <p class="programm__content">Организаторы готовы удовлетворить любые дополнительные желания к согласованной программе по просьбе участников перед поездкой и во время пребывания в Фаэнце.</p>
    <p class="text-bold text-upper text-center">Предлагаются:</p>

    <div class="programm__list">

        <div class="programm__item">
            <div class="programm__icon">
                <object type="image/svg+xml" data="/image/svg/music_key_opt.svg"></object>
            </div>
            <div class="programm__title">Музыкальные мастер-классы</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object type="image/svg+xml" data="/image/svg/planeer_opt.svg"></object>
            </div>
            <div class="programm__title">Пленэр с художником Фатеевым</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object type="image/svg+xml" data="/image/svg/colessium_opt.svg"></object>
            </div>
            <div class="programm__title">Мастер-классы по истории, искусству и литературе Италии</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object type="image/svg+xml" data="/image/svg/pasta_opt.svg"></object>
            </div>
            <div class="programm__title">Дегустации местных продуктов, эногастрономические туры</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object type="image/svg+xml" data="/image/svg/pizza_opt.svg"></object>
            </div>
            <div class="programm__title">Италия в одной пицце в ресторане "O fiore mio"</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object type="image/svg+xml" data="/image/svg/chef_opt.svg"></object>
            </div>
            <div class="programm__title">Кулинарные мастер-классы «Руки в тесте»</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object type="image/svg+xml" data="/image/svg/way_opt.svg"></object>
            </div>
            <div class="programm__title">Экскурсии в другие итальянские города</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object data="/image/svg/bicycle_opt.svg" type="image/svg+xml"></object>
            </div>
            <div class="programm__title">Велосипедные туры</div>
        </div>

        <div class="programm__item">
            <div class="programm__icon">
                <object data="/image/svg/hot_spring_opt.svg" type="image/svg+xml"></object>
            </div>
            <div class="programm__title">Термальные однодневные процедуры</div>
        </div>

    </div>

    <div class="programm__price programm__price_nomrg">
        <div class="programm__cost">Создайте свою мечту</div>
        <button class="programm__btn" data-type="constract">Создать свою программу</button>
        <p><small>* Цена дополнительных экскурсий и мероприятий зависит от количества желающих и от выбранного типа транспорта.</small></p>
    </div>

</section>

Последний раз редактировалось villiwalla, 08.02.2017 в 16:22. Причина: add html
Ответить с цитированием