HT for Web 缓动手册

索引


概述

Easing用于创建缓动曲线,一般用于配合动画来使用,譬如配合Timer来实现更复杂的动画效果。

Easing本质上是一个函数,它接受一个参数tt的范围是[0, 1],返回一个期望的easing后的值 Easing实际上运行的时候区分成三个模式: In: 默认模式,按照 [0, 1] 分别做 f(t) 的处理 OutIn的倒过来的方式,按照 [0, 1] 分别做 1 - f(1-t) 的处理 * InOutInOut的混合方式,前一半是In,后一半是Out

相关方法

// 后续可以使用 "Wobble" 作为 easing 使用,参数不传入则默认 (0.1, 1)
// "Wobble(0.5, 2)" In 模式,且参数为 (0.5, 2),同 "+Wobble(0.5, 2)"
// "-Wobble(0.5, 2)" Out 模式,且参数为 (0.5, 2)
// "*Wobble(0.5, 2)" InOut 模式,且参数为 (0.5, 2)
ht.Default.setEasing('Wobble(amplitude=0.1, cycles=1)', {
    easeImpl: function (t) {
        var amplitude = this.amplitude === undefined ? 0.1 : parseFloat(this.amplitude);
        var cycles = this.cycles === undefined ? 1 : parseFloat(this.cycles);
        return t + amplitude * Math.sin(cycles * 2 * Math.PI * t);
    }
});

内置Easing

其中内置了几个别名: Quad => Quadratic Quart => Quartic Pow => Power Expo => Exponential * Sin => Sine


欢迎交流 service@hightopo.com