2

私はそのナイキサイトのように視差スクロールで遊んでいます。そのため、 scrollTopを使用してページ上のユーザーの垂直位置を決定し、その値の変更に基づいて要素の位置を調整しました。

ここでは、scrollTop値を丸めてログに記録します。ログは後で表示します。

var distance = 60*(Math.round($(window).scrollTop()/60));
console.log(distance);

次に、クリックすると、渡したscrollTop値にスクロールするこの関数を呼び出します。

function goTo(n){
    console.log('begin animating');
    $('html,body').animate({scrollTop: n},2000);
}

ここに問題があります。アニメーション化する前に、スクロールトップの値が0にジャンプします。

だから私はページの途中にいて、ログに記録します:

begin animating
0
6240
6180
6120
// etc...

私が物を配置する方法は、scrollTop値の精度に依存しています。だから私の質問は:

アニメーションを実行する前に、scrollTop値が0にジャンプしないようにするにはどうすればよいですか?

さらに情報が必要な場合はお知らせください。
サイトのライブバージョンは次のとおりです:http ://theblueeyeguy.com/moon/Illumination/

([次へ]、[前へ]の順にクリックして解除します)

4

1 に答える 1

7

おそらく、とのリンクを使用しているためですhref="#"

属性に追加return false;します。onclick

<a href="#" onClick="goTo(2160);return false;">< Prev | </a>
于 2011-11-29T23:20:18.160 に答える