Решение «Коренастый»?
Создание преобразований для высот в пределах выбранной гранулярности, скажем, 0-99, 100-199, 200-299 и т. Д. Каждое с уникальным идентификатором имени анимации, например:
@-webkit-keyframes run100 {
0% { -webkit-transform: translate3d(0px,0px,0px); }
100% { -webkit-transform: translate3d(0px,100px,0px); }
}
@-webkit-keyframes run200 {
0% { -webkit-transform: translate3d(0px,0px,0px); }
100% { -webkit-transform: translate3d(0px,200px,0px); }
}
, затем создайте соответствующие классы CSS:
.height-100 div {
-webkit-animation-name: run100;
}
.height-200 div {
-webkit-animation-name: run200;
}
, затем с помощью javascript решите, в каком блоке вы находитесь, и назначьте соответствующий класс окружающему элементу.
$('#frame').attr('class', '').addClass('height-100');
Может быть хорошо, если зернистость не слишком хорошо!