滚动一系列div - Jquery

时间:2013-07-29 11:29:48

标签: javascript jquery scroll

我正试图让窗口滚动一系列div。这是我的代码,但它非常有针对性,并且不适用于多个div。

    $('.down_arrow').click(function(e){
    $('html, body')
        .animate({scrollTop:$('.two')
        .offset()
        .top }, 'slow');
});

JSFIDDLE

我是否有办法在每次$('.container')点击时检查每个$('.arrow_down')

3 个答案:

答案 0 :(得分:2)

$('.down_arrow').click(function(e){
    $('html, body')
        .animate(
        {
            scrollTop:$(this).closest('.container').next().offset().top 
        }, 'slow');
});

jsFiddle

答案 1 :(得分:0)

$('.down_arrow').click(function(e) {
    var next_container = $(this).parents(".container").next(".container");
    $('html, body')
    .animate({ scrollTop:next_container.offset().top }, 'slow');
});

JSFiddle

答案 2 :(得分:-1)

您应该保存最后滚动的容器,然后滚动到下一个容器。 像这样:

var currentContainerIndex = 0;

$('.down_arrow').click(function(e){
  var currentContainer = $($('.container')[currentContainerIndex]);
  if (!currentContainer.size()) {
    currentContainerIndex = 0;
    currentContainer = $($('.container')[currentContainerIndex]);
  }
  $('html, body').animate({scrollTop:currentContainer.offset().top }, 'slow');
  currentContainerIndex++;
});