Вращение элементов по оси с остановкой ровно по центру

248
29 ноября 2017, 00:28

Есть N число Элементов, которые вращаются по окружности Нужно остановить вращение через N промежуток времени(7сек), так что бы этот определенный элемент оказался ровно по (центру)

Вот тут есть рабочий вариант но он останавливается не ровно https://jsfiddle.net/mario34/qxq1yd0c/

Подскажите как рассчитать это

var pos = $('#center').position(),
    elements = $('.div').length,
    speed = 7,
  radiusSat = $('.div').eq(0).width() / 2,
  radius = $('#center').width() / 2,
  cx = pos.left + radius,
  cy = pos.top + radius,
  x, y, angle = 0, angles = [],
  spc = 360 / elements,
  deg2rad = Math.PI / 180,
  interval,
  i = 0;
for(;i < elements; i++) {
    angle += spc;
    angles.push({
        'angle': angle,
        'elem': $('.div').eq(i)
    });
}
/// space out radius
radius += (radiusSat + 10);
loop();
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 = angles[i].angle - 360;
    }
}
interval = setInterval(loop,17);
READ ALSO
Не ставятся cookie на ios

Не ставятся cookie на ios

Ставлю куки на js всем известным способом:

322
на мобильной версии сайта не работает кнопка добавления в заказ

на мобильной версии сайта не работает кнопка добавления в заказ

добрый день, не работает переключатетль городов и кнопка добавления в заказ (перекидывает сразу в корзину без добавления заказа), но на десктопной...

252
скрипт валидации email

скрипт валидации email

Доброго времени суток всем, есть скрипт проверки email, который сравнивает подтверждающий email, если вводить все последовательно то работаетНо...

217
Creating a YouTube channel api on desktop [требует правки]

Creating a YouTube channel api on desktop [требует правки]

i did some app for upload video in youtube channel, and some user do not have channel so i need create channel by using api, i did some research and understand that we automatic can create channel only with redirect user on this page

297