0

我正在处理的这个项目上的菜单链接触发了一个自定义功能。该函数有两个参数。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 开始。

4

1 回答 1

2

问题是 yy 是一个字符串,而 nut 是一个数字

y = Math.abs(n - x);
yy = y + '000';

尝试

 yy = yy*1000
于 2013-03-27T19:17:02.887 回答