Все,
Я работаю над веб-приложением специально для iPad и использую переход CSS3 для анимации div (переместите его слева направо).
Мой класс выглядит так:
.mover {
-webkit-transition:all 0.4s ease-in-out;
}
Когда пользователь нажимает кнопку, я делаю это:
var s = "translate3d(" + newPosition + "px, 0, 0)";
$('.mover ').css('-webkit-transform', s);
Это прекрасно работает ИСКЛЮЧИТЬ FIRST время, когда пользователь запускает переход;в первый раз наблюдается очень заметное мерцание.
Я понимаю, что мне не нужно использовать translate3d, так как я перемещаю div влево и вправо, но, насколько я понимаю, это заставляет iPadиспользовать ускорение GPU.(Это правильно?)
Заранее большое спасибо!
[ОБНОВЛЕНИЕ]
Я был немного двусмысленным по поводу "мерцания".Короче говоря - я экспериментировал с широким спектром переходов CSS3 (особенно на iPad) и постоянно - заметил заметное мерцание на start или end переход.
Другими словами, сами переходы ОЧЕНЬ гладкие.Однако, в зависимости от точных настроек, перед началом или окончанием перехода появляется заметное мерцание.
Вот еще один пример: у меня есть три фотографии (PNG), накладываемые друг на друга.
Нижний PNG имеет непрозрачность = 1,0, верхние 2 имеют непрозрачность = 0,0.Используя -webkit-keyframes, я могу получать плавные плавные переходы по мере того, как фотографии появляются и исчезают.Когда анимация заканчивается, нижняя фотография заканчивается при непрозрачности = 1.0, две верхние при непрозрачности = 0.0.(Это должно быть их окончательное состояние).
Однако, как только заканчивается анимация, нижняя фотография мигает.Как будто браузер заставляет перерисовывать / перекрашивать экран, и это занимает несколько долей секунды.
Это достаточно плохо, чтобы испортить эффект и сделать переходы непригодными для использования.(На моем iMac это почти , но не совсем, незаметно. На iPad это невозможно пропустить).