Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2017, 09:30
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

GSAP проблема анимцаии sсale
Здравствуйте. Подскажите, пожалуйста, ответ на следующий вопрос. Использую бибиотеку GSAP. Алгоритм следующий: есть два блока, один анимационно sсale, затем уходит влево, в это время выезжает блок справа, затем их стили сбрасываются и при повторном click все происходит заново. Но проблема в чем, при повторном click skale отрабатывает лишь дважды и всё.
Стили простые: первый блок position: absolute; left: 0
второй блок position: absolute; left: 100%

'src/js/jquery/jquery.js',
        'src/js/gsap/TweenMax.min.js',
        'src/js/jquery-ui/jquery-ui.min.js'


<!doctype html>
<html lang='ru'>
<head>
    <meta charset='UTF-8'>
    <meta http-equiv='X-UA-Compatible' content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link href="./styles/index-build.css" rel="stylesheet">
</head>
<body>
    <nav class="nav">
        <ul class="nav__list">

            <li class="nav__item">
                <a class="nav__link" href="#">Ссылка 1</a>
            </li>

            <li class="nav__item">
                <a class="nav__link" href="#">Ссылка 2</a>
            </li>

        </ul>
    </nav>

    <div class="container">

        <div class="initContent initSlide">
        <!-- <div class="initContent"> -->

            <div class="content">
                <h2>init</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum id in laboriosam laudantium magnam nesciunt numquam obcaecati odio ut voluptatibus! Eum hic iste magni nesciunt non officiis, quae ratione recusandae?
                </p>
            </div>

        </div>

        <div class="nextContent nextSlide">
        <!-- <div class="nextContent"> -->

            <div class="content">
                <h2>next</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum id in laboriosam laudantium magnam nesciunt numquam obcaecati odio ut voluptatibus! Eum hic iste magni nesciunt non officiis, quae ratione recusandae?
                </p>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum id in laboriosam laudantium magnam nesciunt numquam obcaecati odio ut voluptatibus! Eum hic iste magni nesciunt non officiis, quae ratione recusandae?
                </p>
            </div>

        </div>

    </div>

    <script src="./js/main-scripts.min.js"></script>
    <script src="./js/scripts.min.js"></script>
</body>
</html>


var gsapInit = (function() {

    // private

    var init = function() {

    };

    // public

    return {

        init: function() {

            var _this = this;

            _this.initProject();

        },

        initProject: function () {

            var
                link = $('.nav__link').eq(0);

            var
                container = $('.container');

            link.on('click', function (e) {

                e.preventDefault();

                var
                    d1 = $.Deferred(),
                    d2 = $.Deferred(),
                    d3 = $.Deferred();

                var toolTimeline = new TimelineMax();
                var duration = .5;

                var
                    first = $('.initSlide'),
                    second = $('.nextSlide');

                    // first = $('.initContent'),
                    // second = $('.nextContent');

                toolTimeline.to(first, duration, {

                    scale : '.8',

                    // opacity : 0,

                    ease: Linear.easeInOut,

                    onComplete : function () {

                        d1.resolve();

                    }
                });

                d1.done(function () {

                    // alert('done');

                    toolTimeline.to(first, duration, {
                        left : -100 + '%',
                        // ease: Linear.easeInOut
                    });

                    toolTimeline.to(second, duration, {
                        left : 0,
                        // ease: Linear.easeInOut

                        onComplete : function () {

                            d2.resolve();

                            // alert('done');

                        }
                    });

                });

                d2.done(function () {

                    // alert('done');

                    first.toggleClass('initContent nextContent');

                    second.toggleClass('nextContent initContent', function () {

                        d3.resolve();

                    });


                    first.toggleClass('initSlide nextSlide');

                    second.toggleClass('nextSlide initSlide', function () {

                        // d3.resolve();

                    });

                });

                d3.done(function () {

                    // alert('done');

                    first.attr('style', '');

                    second.attr('style', '');

                });

            });


        }

    };

})();

$(document).ready(function() {

    gsapInit.init();

});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GSAP слайдер без jquery возможно ли? Aleksanderj Библиотеки/Тулкиты/Фреймворки 5 19.09.2015 03:05
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12