Всплывающий информатор с использованием анимаций CSS3
Динамические информаторы требуют привлечения внимания. Каждый раз, когда происходит изменение, нужно воспроизводить визуальный эффект, чтобы пользователь увидел, что происходит. Воспользуемся анимациями CSS3.
Разметка HTML
Для нашего примера будет использоваться обычная структура меню на основе неупорядоченного списка:
Все внимание уделяем элементу , который является информатором с визуальным эффектом.
CSS
Класс .animating представляет анимацию CSS3, в которой используется [url=http://cubic-bezier.com/#0,1,1,0]кривая Безье[/url].
jQuery
Запустить анимацию снова не так-то просто, как может показаться с первого взгляда. На нашем сайте есть перевод статьи авторства Chris Coyier о решении такой задачи.
Для нашего примера используется метод с функцией JavaScript setTimeout(). Каждый раз, когда значение информатора изменяется, класс .animating удаляется спустя секунду (точное время длительности анимации).
В реальных проектах вам не потребуется переменная counterValue. Она используется только для обеспечения возможности увеличения и уменьшения значения информатора на демонстрационной странице.
Просто, но эффективно
Данный урок демонстрирует простое и практичное применение анимаций CSS3, которое помогает улучшить интерфейс проекта. Экспериментируя с параметрами кривой Безье можно получить интересные визуальные эффекты.
Разметка HTML
Для нашего примера будет использоваться обычная структура меню на основе неупорядоченного списка:
Код
<ul class="menu">
<li><a href="">Главная</a></li>
<li><a href="">Статистика</a></li>
<li>
<a href="">
Задачи
<span class="bubble">9</span>
</a>
</li>
<li><a href="">Настройка</a></li>
</ul>
<li><a href="">Главная</a></li>
<li><a href="">Статистика</a></li>
<li>
<a href="">
Задачи
<span class="bubble">9</span>
</a>
</li>
<li><a href="">Настройка</a></li>
</ul>
Все внимание уделяем элементу , который является информатором с визуальным эффектом.
CSS
Класс .animating представляет анимацию CSS3, в которой используется [url=http://cubic-bezier.com/#0,1,1,0]кривая Безье[/url].
Код
.animating{
animation: animate 1s cubic-bezier(0,1,1,0);
}
@keyframes animate{
from {
transform: scale(1);
}
to {
transform: scale(1.7);
}
}
animation: animate 1s cubic-bezier(0,1,1,0);
}
@keyframes animate{
from {
transform: scale(1);
}
to {
transform: scale(1.7);
}
}
jQuery
Запустить анимацию снова не так-то просто, как может показаться с первого взгляда. На нашем сайте есть перевод статьи авторства Chris Coyier о решении такой задачи.
Для нашего примера используется метод с функцией JavaScript setTimeout(). Каждый раз, когда значение информатора изменяется, класс .animating удаляется спустя секунду (точное время длительности анимации).
В реальных проектах вам не потребуется переменная counterValue. Она используется только для обеспечения возможности увеличения и уменьшения значения информатора на демонстрационной странице.
Код
var counterValue = parseInt($('.bubble').html()); // Получаем текущее значение информатора
function removeAnimation(){
setTimeout(function() {
$('.bubble').removeClass('animating')
}, 1000);
}
$('#decrease').on('click',function(){
counterValue--; // Уменьшаем
$('.bubble').html(counterValue).addClass('animating'); // Включаем анимацию
removeAnimation(); // Удаляем класс анимации
})
$('#increase').on('click',function(){
counterValue++; // Увеличиваем
$('.bubble').html(counterValue).addClass('animating'); // Включаем анимацию
removeAnimation(); // Удаляем класс анимации
})
function removeAnimation(){
setTimeout(function() {
$('.bubble').removeClass('animating')
}, 1000);
}
$('#decrease').on('click',function(){
counterValue--; // Уменьшаем
$('.bubble').html(counterValue).addClass('animating'); // Включаем анимацию
removeAnimation(); // Удаляем класс анимации
})
$('#increase').on('click',function(){
counterValue++; // Увеличиваем
$('.bubble').html(counterValue).addClass('animating'); // Включаем анимацию
removeAnimation(); // Удаляем класс анимации
})
Просто, но эффективно
Данный урок демонстрирует простое и практичное применение анимаций CSS3, которое помогает улучшить интерфейс проекта. Экспериментируя с параметрами кривой Безье можно получить интересные визуальные эффекты.
-
FalleN -
4892 -
1 -
258
Но только нужно ставить наверное на те модули которые обновляться должны не раньше через пару тройку минут
С Уважением, Андрей...