アニメーションにアニメーション化する前に、なぜ。
-
25-10-2019 - |
質問
私はオンのように視差のスクロールで遊んでいます そのナイキサイト. 。だから私は使っています スクロールトップ ページ上のユーザーの垂直位置を決定するために、その値の変更に基づいて要素の位置を調整しています。
ここでは、スクロールトップ値を丸めてログに記録します。後でログを表示します。
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>
所属していません StackOverflow