Javascript如何设置滚动项目停在中间位置

时间:2014-09-18 01:34:45

标签: javascript html css

这是jsfiddle中的演示,demo

我想要的是让滚动的项目(“一个”,“两个”,“三个”,“4”,“5”,“6”,“7”)自动向上滚动,就像演示所示,并停止当它处于中间位置时。

以下是我的演示代码中设置位置的位置。

if ((x == 0) || (x % 35== 0)) {
    setTimeout(function () {
        i.top = x + 'px';
    }, 1000);
} else {
    i.top = x + 'px';
}

我设置35的原因是因为我发现滚动的项目大约在等于0,-35,-70,-105的中间位置....但是当我控制所有x时,我发现x的值在(31,-251)之间。你知道如何在每件物品位于中间位置时找到准确的位置吗?谢谢!

1 个答案:

答案 0 :(得分:1)

这是我找到的解决方案:jsfiddle

更改

1)在您的css中添加:

#myscroller p {
    margin: 0;
    line-height: 30px;
}

2)将第4行的变量i的值更改为0,否则无法在{4}中添加数组的第一个值{1}}代码

3)将第10行变量<p>的值更改为txt,空字符串

4)需要始终调用此'',否则滚动条会在停止时延迟1px

5)由于您的行高为i.top = x + 'px';,当30px为真时,您的滚动条将停止

注意:如果您想更改行高,则其值必须与x % 30高度相同,并且与您在{{1}处检查的值相同}