0

Mootools FX.Scroll()1.3.2 を使用してconsole.log()、Fx.Scroll コマンドの直後に作成しています。

Q:div.getScroll()が「after-Fx.Scroll()」値を取得しないのはなぜですか? 代わりに、Fx.Scroll()? の前の値

( jsfiddle の例はこちら)

4

1 に答える 1

2

これはイベントベースのプログラミングです。Fx.Scroll は Fx のインスタンスで、アニメーションやトゥイーンが完了すると、oncompleteイベントが発生します。現在、トゥイーンが完了した後ではなく、クリック時に出力しています。これは CSS3 トランジションではないため、プロパティは設定されず、css ui スレッドによって補間されます。実際には、setTimeout でポイントごとに移動しています (したがって、現在の実行スコープ/スレッドから切り離されています)。

http://jsfiddle.net/2WuSw/1/

scrollEff = new Fx.Scroll(spinAreaDiv, {
    wait: false,
    duration: 1000,
    offset: {
        'x': 0,
            'y': 0
    },
    transition: Fx.Transitions.Quad.easeInOut,
    onComplete: function(){
        console.log(this.element.getScroll().x);
    }
});

上記のように、onComplete イベント ハンドラーを渡しています。

後で遅延バインドすることもできます。

// or use `complete:once`
scrollEff.addEvent('complete', function(){
    console.log(this.element.getScroll().x);
});
于 2013-06-17T10:44:45.753 に答える