Анимированные баннеры на Javascript

Чаще всего анимированные баннеры делают на Flash или GIF-анимации. Современные технологии позволяют сделать анимацию на Javascript без использования этих устаревших технологий. Разберем пример создания сайтов с использованием JQuery.

Помимо JQuery нам потребуется библиотека анимации Velocity. Итак, создаем шаблон:

<a href="" id="js__animeb" class="b__animeb">
        <img src="images/i__medal.png" id="js__animeb-med" alt="" class="b__animeb-me"/>
        <img src="images/i__mtext.png" id="js__animeb-mtx" alt="" class="b__animeb-mt"/>
        <span id="js__animeb-txt1" class="b__animeb-te">Более 10 000 участников ежемесячно</span>
        <span id="js__animeb-txt2" class="b__animeb-te">Разработаны в соответствии с ФГОС</span>
        <span id="js__animeb-txt3" class="b__animeb-te">Качественное пополнение портфолио ученика и учителя</span>
</a>

Оформляем в CSS:

.b__animeb {
    background : url(../images/b__back.jpg);
    width      : 968px;
    height     : 138px;
    margin     : 150px auto 0;
    position   : relative;
    overflow   : hidden;
    display    : block
}

.b__animeb-me {
    left     : -186px;
    top      : 0;
    position : absolute
}

.b__animeb-mt {
    top       : 27px;
    left     : 969px;
    position : absolute
}

.b__animeb-te {
    color     : #FFF;
    font-size : 1.142857142857143em;
    top       : 138px;
    left      : 258px;
    position  : absolute
}

Теперь продумываем анимацию. Медаль сдвигаем слева, основной текст справа. Оба элемента фиксируем. Чтобы привлечь внимание, будем менять маленький текст, чередуя их. Пишем анимацию на JS:

function b_anime(i){
    $('#js__animeb .b__animeb-te:visible')
        .velocity({ rotateZ : 138 }, 300, "easeInOutQuad") //если элемент(маленький текст) виден, мы его поворачиваем
        .velocity({ opacity : 0 }, 300, "easeInOutQuad") //скрываем
        .velocity({ top: 138 }, 1200, "easeInOutQuad"); // и убираем за пределы окна
    $('#js__animeb-txt'+i)
        .velocity({ rotateZ : 0 }, 300, "easeInOutQuad") // у следующего маленького текста убираем поворот
        .velocity({ opacity : 1 }, 300, "easeInOutQuad") // делаем видимым
        .velocity({ top: 88 }, 2000, "easeInOutBack"); // и двигаем в нужное место.
}
$(document).ready(function () {
    $('#js__animeb-med').velocity({ left: 0 }, 4000, "easeInOutQuart"); // один раз выдвигаем медаль слева
    $('#js__animeb-mtx').velocity({ left: 259 }, 4000, "easeInOutQuart"); // один раз выдвигаем основной текст справа
    var i=1; //счетчик первого маленького текста
    b_anime(i); // вызываем анимацию маленького текста
    setInterval(function(){
        i++; //так как первый маленький текст показали, увеличиваем на 1 счетчик, что бы был показан следующий текст.
        if (i > 3) {
            i = 1; //если счетчик больше количества маленьких текстов, то сбрасываем в 1.
        }
        b_anime(i); // вызываем функцию анимации маленького текста.
    }, 5000); // зацикливаем анимацю маленького текста
});

Выбрана библиотека Velocity не случайно. На момент написания статьи она обладает самой плавной анимацией, в отличие от стандартной JQuery-функции animate(). Последняя функция в разных браузерах работает по-разному. Также, в дополнение, Velocity обладает множеством поддерживаемых анимаций, включая трансформации.

See the Pen Animated banners using Jquery by Pavel Saik (@PavelSaik) on CodePen.

Всё довольно просто при создании анимации на JavaScript.

Несколько сайтов на одном VPS: размещение для студии

Один сервер для нескольких проектов упрощает управление и может снизить расходы. Разбираем, как разделить сайты, посчитать полную стоимость размещения и выбрать момент для отдельного сервера.

VPS для October CMS: как выбрать сервер и подготовить его к работе

Для October CMS важны совместимые версии ПО, доступ к консоли и настройка окружения. Разбираем, с какой конфигурации начать проверку и что подготовить перед запуском сайта.

Где хранить резервные копии сайта, чтобы они пережили аварию

Архив есть. А получится ли из него вернуть сайт? Разбираем состав резервной копии, выбор хранилища и проверку, которая покажет, переживёт ли бэкап аварию сервера.

Атаки на дата-центры: как подготовить сайт к отказу площадки

Физическое повреждение дата-центра или взлом хостинга могут остановить сайт целиком. Разбираем независимое резервирование, доступы и план восстановления.

Последние кейсы
Посмотреть все проекты
Начать проект вместе с нами
Заполните форму и отправьте
нам сообщение!
Если у Вас возникли вопросы, предложения, либо Вы желаете оформить заявку на заказ услуги — Добро пожаловать!
Контакты:
Бронзовый партнер October CMS:
Бронзовый партнер October CMS