1

基本的にdivを上下に移動させるマウスオーバー機能があります。これはインターバル タイマーを使用し、よりスムーズにするためにアニメーション化されています。

最終的なイーズアウト速度に一致するように、各間隔でアニメーションの速度を上げるにはどうすればよいですか? 基本的に、マウスオーバーすると、どんどん速くなっていきますが、アニメーションは滑らかなままです。

function StartAnimation() {
        var oldMarginTop = $('#MyDiv').outerHeight(true) - $('#MyDiv').innerHeight();
        var newMarginTop = oldMarginTop + 100;
        $('#MyDiv').animate({ marginTop: newMarginTop }, 500, 'linear');
    }
}

$('#SomeObject').bind('mouseenter', function () {
    this.iid = setInterval(function () {
        StartAnimation();
    }, 500);
}).bind('mouseleave', function () {
    this.iid && clearInterval(this.iid);
    //FinishAnimation();
});
4

1 に答える 1

0

間隔はいらないと思います。

あなたが説明しているのは、この jQuery プラグイン(さまざまな代替イージング関数と共に)でeaseIn取得できるものだと思います。このページにはデモも含まれており、各イージング関数をテストして、要件に最適なものを見つけることができます。

これで、選択した関数を への呼び出しのパラメータとして直接使用できるようになりますjQuery.animate

于 2012-10-30T13:07:39.750 に答える