2016-04-27 80 views
1

这里是我的代码:Demo每个设定的时间间隔的div

演示工作正常手动滚动每个div来scrollTop的。

我需要的是:如果我点击Auto Start按钮我想要自动滚动1,自动滚动2,...自动滚动n每个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。

回答

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

+0

感谢ü..伟大的工作:) – Logz

0

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

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