滚动到列表中的特定项目,然后滚动到列表中的下一个特定项目

Scroll to specific item in the list and then scroll to next specific item in the list

我正在开发基于网络的应用程序(使用 Javascript、Jquery、html、css),只要按下它就会滚动这些频道,由于通道数大于屏幕高度,我必须在向下或向上每 10 个通道使用滚动功能,为此我使用 scrollTop 方法。

所以让我这样简化我的问题(如果有人回答这个问题,它可以帮助我达到我的实际目标)

我有元素列表,我知道如何滚动到列表中的特定元素,但我的目标是在第一次滚动到第 8 项、seTimeout 之后,然后滚动到下一个特定元素(第 14 项)名单。我知道如何滚动到第一个特定元素,但我不知道超时后如何滚动到下一个特定元素(第 14 项)。

这里是滚动第一个元素的代码,效果很好:

`http://jsfiddle.net/xY7tx/2339/`

基于上面有效的代码,我尝试添加以下代码,我的目标是首先它会滚动到第 8 项,然后 3 秒超时然后它会滚动到第 14 项(不会),拜托有人告诉我如何解决这个问题,这是第二个代码,它不能按预期工作:

`http://jsfiddle.net/xY7tx/2338/`

谢谢!

您可以使用您想要使用的所有位置创建数组,并在超时后删除数组的第一个元素

    var container = $('div'),
        scrollTo = new Array($('#row_8'),$("#row_10"),$("#row_14"),$("#row_2"));

    container.scrollTop(
        scrollTo[0].offset().top - container.offset().top + container.scrollTop() 
    );

    scrollTo.shift();

    var refreshIntervalId = setInterval(function(){
    if(scrollTo.length!=0){
      container.scrollTop(
          scrollTo[0].offset().top - container.offset().top + container.scrollTop() 
      );
       scrollTo.shift();
    }else{
    clearInterval(refreshIntervalId);
    }   
    },3000);

编辑

添加检查数组是否为空停止区间

Example