0

イージング効果のあるScrollToプラグインを使用しようとしています。

また、イージングプラグイン ファイルは含めたくありません。イージング エフェクトは 1 回だけ使用するためです。

私が使いたいこの「easeOutBack」:

easeOutBack: function (x, t, b, c, d, s) {
        if (s == undefined) s = 1.70158;
        return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}

そして、私のscrollToの関数コードは..

$(window).scrollTo(element,800,{offset:-80,onAfter:function(){
            alert('done');
}});

だから私はイージング効果を挿入しようとします...

$(window).scrollTo(element,800,{offset:-80,
easing:function(x, t, b, c, d){
    return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
},
onAfter:function(){
    alert('done');
}});

うまくいきません。

TypeError: b.easing[this.easing] は関数ではありません

4

1 に答える 1

1

$.easingイージング関数を次の場所に格納するだけです。

$.easing.easeOutBack = function(x, t, b, c, d, s) {
    if(s == undefined) s = 1.70158;
    return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
};

その後は、イージング プラグインをロードしたときと同じように使用できます。

animate()jQueryはイージング関数 ( で検索される) の文字列のみを受け入れるため、関数を直接渡すことはできません$.easing

于 2013-08-26T11:11:35.380 に答える