質問

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

ここでは、スクロールトップ値を丸めてログに記録します。後でログを表示します。

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

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

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

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

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

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

私の配置方法は、スクロールトップ値の精度に依存しています。だから私の質問は次のとおりです。

アニメーションを使用する前に、スクロールトップ値が0にジャンプしないようにするにはどうすればよいですか?

これ以上の情報が必要かどうか教えてください。
このサイトのライブバージョンは次のとおりです。 http://theblueeyeguy.com/moon/illumination/

(「次へ」をクリックして、「前」を壊します)

役に立ちましたか?

解決

おそらくあなたがリンクを使用しているからです href="#".

追加 return false; あなたに onclick 属性。

<a href="#" onClick="goTo(2160);return false;">< Prev | </a>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top