Подтвердить что ты не робот

Переходы CSS3 с поддержкой Javascript

Есть ли там инфраструктура javascript, которая будет использовать переходы CSS3 для эффектов, таких как изменение непрозрачности или движущихся элементов, но вернется к использованию javascript setInterval/setTimeout, если он не поддерживается?

4b9b3361

Ответ 1

Проверьте модуль перехода YUI 3, он делает именно это.

Ответ 4

Один из моих коллег написал микробиблиотеку, предлагающую ограниченный резерв JS для Transitions: http://blogs.msdn.com/b/eternalcoding/archive/2011/12/06/css3-transitions.aspx

TRANSITIONSHELPER.computeCubicBezierCurveInterpolation = function (t, x1, y1, x2, y2) {
    // Extract X (which is equal to time here)
    var f0 = 1 - 3 * x2 + 3 * x1;
    var f1 = 3 * x2 - 6 * x1;
    var f2 = 3 * x1;

    var refinedT = t;
    for (var i = 0; i < 5; i++) {
        var refinedT2 = refinedT * refinedT;
        var refinedT3 = refinedT2 * refinedT;

        var x = f0 * refinedT3 + f1 * refinedT2 + f2 * refinedT;
        var slope = 1.0 / (3.0 * f0 * refinedT2 + 2.0 * f1 * refinedT + f2);
        refinedT -= (x - t) * slope;
        refinedT = Math.min(1, Math.max(0, refinedT));
    }

    // Resolve cubic bezier for the given x
    return 3 * Math.pow(1 - refinedT, 2) * refinedT * y1 +
            3 * (1 - refinedT) * Math.pow(refinedT, 2) * y2 +
            Math.pow(refinedT, 3);
};

Возможно, этого может быть достаточно или хорошей базы для достижения того, что вы ищете?

Пока,

Дэвид

Ответ 5

Подводя итог, есть несколько плагинов для больших фреймворков (см. другие ответы):

Другие фреймворки уже используют CSS-переходы, где это возможно:

Существуют ли какие-либо микробиблиотеки?

Ответ 6

К сожалению, ни одна из этих альтернатив, по-видимому, не позволяет вам использовать ослабления, например, отскок.

Моя попытка использовать улучшенную анимацию переместила элемент на дюйм, а затем просто удалила его. Я действительно хотел бы сохранить отскок вместо кубического или линейного ослабления.