Нужно в течении 7 секунд прокрутить круги по оси и постепенно с каждой секундой снижать скорость движения к нулю.
Изначально все нормально движется, но к концу времени элементы заезжают друг на друга.
function loop() {
step = 1 / 60;
speed -= step;
if(speed <= 0) clearInterval(interval);
for(var i = 0; i < angles.length; i++) {
angle = angles[i].angle;
x = cx + radius * Math.cos(angle * deg2rad);
y = cy + radius * Math.sin(angle * deg2rad);
$('.div').eq(i).css({left:x - radiusSat, top:y - radiusSat});
angles[i].angle = angles[i].angle + speed;
if (angles[i].angle > 360) angles[i].angle = 0;
}
}
Подробнее https://jsfiddle.net/bgntx9j1/
Ответ
if (angles[i].angle > 360) angles[i].angle = angles[i].angle - 360;
В последней строке код как привел я. У вас не настолько мелкое значение, чтоб списывать его в 0. Вот и наезжает:)
Фиддл: https://jsfiddle.net/L5sbnmoq/
Комментариев нет:
Отправить комментарий