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

263
30 июля 2017, 10:48

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

Answer 1
if (angles[i].angle > 360) angles[i].angle = angles[i].angle - 360;

В последней строке код как привел я. У вас не настолько мелкое значение, чтоб списывать его в 0. Вот и наезжает:) Фиддл: https://jsfiddle.net/L5sbnmoq/

READ ALSO
Кастомизировать scrollbar [требует правки]

Кастомизировать scrollbar [требует правки]

Доброго времени, нужно реализовать вот такой scrollbar prntscrcom/g1mbu1 со стрелочками на кнопках, и ползунке

335
Где и как хранятся переменные из области видимости функции

Где и как хранятся переменные из области видимости функции

Разбираюсь с областью видимости в JSЕсть такой код:

319
Не видна переменная в функции

Не видна переменная в функции

Почему внутри функции ShowSlide не виден массив slides? При первом вызове консоллог размер выводится(выводит img)

248
phantomjs page evaluate callback

phantomjs page evaluate callback

Есть функция на phantomJS:

262