0

だから私は、Jquery .animate(scrollTo:value) 関数を最適化する最良の方法を見つけようとしています。次の例を見てください。

$('#returnToTop').on('click', function(){
        $('html, body').animate({
            scrollTop: 0
        }, 'slow');
    });

ここには、クリックするとページを一番上にスクロールする「トップ」ボタンとして機能する div があります。複雑なページでは、これはぎくしゃくしていて滑らかではありません。アニメーション機能が正確に何をするかについて、jQuery忍者が私たちを啓発できるかどうか疑問に思っていました。シンプルなページでは、素晴らしく滑らかです。

さて、おそらく DOM をたどる計算を行っているのではないかと思います。そのため、複雑な場合は時間がかかり、ビクビクして見えます。だからここに問題の核心があります:

開発者がjQueryに正確なパラメータを提供して計算を簡単にし、アニメーションをよりスムーズにするために、私たちが取ることができるステップはありますか. 提供された場合に大幅な高速化を実現する、重要な特定の値がおそらく存在します。

誰にも洞察力がありますか?

ありがとう。

4

1 に答える 1

4

jQueryにとって、「遅い」とは時間です(正確には600ミリ秒)。大きなページの場合、600 ミリ秒でトップに移動するにはびくびくする必要があります。

ページの高さに関係なく一定の速度でこのアニメーションを作成する場合は、t = offsetTop / k1 秒あたり約 k ピクセルを歩くように期間を に設定します。ここで、offsetTop は のようなもの$(clickedElement).offset().topです。

jQueryには、それを直接行うためのプラグインもいくつかあります。

于 2012-07-09T21:30:57.910 に答える