取り組んでいるこのプロジェクトのメニュー リンクは、カスタム関数をトリガーします。この関数は 2 つのパラメーターを取ります。n はクリックされた要素のインデックスで、p はスクロール先の scrollTop です。過去にスクロールする必要がある「スライド」の数に基づいて、scrollTo の期間を変更したいと考えています。スライドあたり 1000 ミリ秒。すべてのインデックスを 0 ではなく 1 から開始するように設定します。次に、すべてのメニュー リスト項目をループし、それが現在のスライドの場合は、そのインデックスを x に格納します。n - x... などの絶対値を返します。数学は正常にログアウトします。問題は、scrollTo が変数を受け入れないことです。何かご意見は?
function calcScrollSpeed(n, p){
var x = 1;
var y;
var pp = p + 'px';
$('nav#left div ul li').each(function(i){
var ii = 2;
var iii = ii + i;
if($(this).hasClass('current')) {
x = iii;
}
});
y = Math.abs(n - x);
yy = y + '000';
$.scrollTo(pp, yy);
console.log(yy);
}
ところで
ii を 2 に設定した理由は、nav に含まれていないロゴ/ホーム リンク要素を考慮するためです。x は 1 から始まります。