我正在处理的这个项目上的菜单链接触发了一个自定义功能。该函数有两个参数。n 是单击元素的索引,p 是要滚动到的 scrollTop。我想根据我们必须滚动过去的“幻灯片”数量来更改 scrollTo 的持续时间。每张幻灯片 1000 毫秒。我将所有索引设置为从 1 而不是 0 开始。然后循环遍历所有菜单列表项,如果是当前幻灯片,则将其索引存储在 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 的原因是考虑到导航中未包含的徽标/主页链接元素。x 从 1 开始。