设置每个div的时间间隔

时间:2016-04-27 07:05:44

标签: javascript jquery html

这是我的代码:Demo

演示在每个div滚动顶部的手动滚动时工作正常。

我需要的是:如果我点击Auto Start按钮我要自动滚动1,自动滚动2,...自动滚动每个div以滚动顶部。

  $(".jumper").on("click", function() { 
            var links = $(this).attr('href');
            var type = links.substring(links.indexOf('#')+1);

          $("body, html").animate({            
               scrollTop: $('#'+type).offset().top  
            }, 1500);   

           });

每个div应该到达scrolltop并停止,然后以相同的时间间隔转到下一个div scrolltop。

2 个答案:

答案 0 :(得分:1)

我就这样做了:

$(".autostart").on("click", function() {
    scrollToElem($("#auto-scroll"));

    var scrollList = $("#auto-scroll").nextAll();
    var current = 0;
    time = setInterval(function() {
      scrollToElem($(scrollList.get(current)));
      current++;
      if (scrollList.length == current) {
        clearInterval(time);
      }
    }, 2000);
  });

Here is the JSFiddle demo

答案 1 :(得分:0)

您的代码中有错误。未定义的.top。您可以使用链接作为选择器,因为它包含idselector + id:

$(".jumper").on("click", function() { 
    var links = $(this).attr('href');
    $("body, html").animate({            
        scrollTop: $(links).offset().top  
    }, 1500);   
});