Бесконечная равномерная анимация
Сомневаюсь, но на всякий случай спрошу:
как реализовать без таймеров (а может эмулировать с помощью таймеров?) равномерное движение? То есть по ховеру изменяем css.left, курсор ушёл - движение прекратилось. и так, и сяк пробовал - всё рывками. |
Цитата:
<style>
div {
background-color: #BADA55;
width: 50px;
height: 50px;
position: absolute;
-webkit-animation: loop 2s ease 0s infinite normal;
-moz-animation: loop 2s ease 0s infinite normal;
animation: loop 2s ease 0s infinite normal;
-webkit-animation-play-state: paused;
-moz-animation-play-state: paused;
animation-play-state: paused;
}
div:hover {
-webkit-animation-play-state: running;
-moz-animation-play-state: running;
animation-play-state: running;
}
@-webkit-keyframes loop{
0% {
-webkit-transform: translateX(0px);
}
50% {
-webkit-transform: translateX(100px);
}
100% {
-webkit-transform: translateX(0);
}
}
@-moz-keyframes loop{
0% {
-moz-transform: translateX(0px);
}
50% {
-moz-transform: translateX(100px);
}
100% {
-moz-transform: translateX(0);
}
}
@keyframes loop{
0% {
transform: translateX(0px);
}
50% {
transform: translateX(100px);
}
100% {
transform: translateX(0);
}
}
</style>
<div></div>
|
Опера и IE идут лесом.
Но я сам ступил... Надо просто корректно указывать конечное значение css.left, а не использовать приращение. |
А почему вы не используете jquery .animation()?
Цитата:
Либо как предложил melky, все очень плавно и работать будет во всех сравнительно новых браузерах) |
| Часовой пояс GMT +3, время: 12:54. |