Шаткий переход ширины CSS3 в WebKit

Я работаю над анимацией, используя упаковку. Плитки выровнены в сетке, и нажатие на одну из них должно увеличить ее и соответственно динамически переставить плитки. Изменение размера анимировано с помощью CSS3-переходов. Все это работает, как и ожидалось, в IE10 и Firefox, как показано в следующем коде: http://codepen.io/anon/pen/ilkmK

Тот же код в браузерах на основе WebKit (протестирован в Windows) вызывает яростное покачивание / встряхивание поля при его изменении размера и изменении положения.

Я уже представил проблему, и проблема в том, что переходы ширины и высоты в WebKit не оптимизированы. Реализация той же анимации с использованием jQuery.animate немного улучшила ситуацию, но она не избавила от покачиваний. Особенно на более медленных системах это остается очень заметным.

На данный момент я использую версию JavaScript как немного лучший браузер fallbackf или webkit, но она не оптимальна. Я понятия не имею, куда идти отсюда, поэтому я надеялся, что Stackru поможет мне.

За любые советы о том, как заставить это работать в Chrome/Safari, я был бы очень благодарен.

1 ответ

Я только что попробовал это в Chrome на Mac, и он работает нормально, поэтому я не могу воспроизвести проблему. Однако у меня есть ощущение, что это может быть связано с тем, что когда веб-браузеры загружают страницу, они изначально генерируют изображения с 0 размерами.

Попробуйте положить свой JQuery в $(window).load(function(){ вместо $(document).ready(function(){

Это будет ждать загрузки изображений перед выполнением сценария.

Другие вопросы по тегам