Страницы

Поиск по вопросам

суббота, 13 июля 2019 г.

Прокрутка элементов по оси

Нужно в течении 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/

Комментариев нет:

Отправить комментарий