6

当用户单击链接以向下滑动 div 时,我试图滚动到 div 的底部。

我试过使用 scrollTo 和动画

$('html, body').animate({
scrollTop: $("#elementID").offset().top
}, 2000);

但什么也没发生

这是小提琴

http://jsfiddle.net/CLzfW/29/

4

4 回答 4

8

演示:http: //jsfiddle.net/CLzfW/4/

$('.button').click(function(e){
  e.preventDefault();
  $('.expander').slideToggle();
    $('html, body').animate({
        scrollTop: 1000
    }, 2000);
});

只需使用您的 .expander 高度。
如果你需要它是可变的,你可以这样做:http: //jsfiddle.net/CLzfW/26/

var scroll_to = $('.expander').offset().top + $('.expander').height();
$('.button').click(function(e){
  e.preventDefault();
  $('.expander').slideToggle();
    $('html, body').animate({
        scrollTop: scroll_to
    }, 2000);
});
于 2013-09-03T20:32:24.257 回答
2

演示

利用 :

$('html, body').animate({scrollTop: $(document).height()}, 'slow');

更新

滚动 div 演示

使用这个,诀窍是在scrollHeight这里查看我的答案如何获得 DIV 的“自动”高度

$('.button').click(function(e){
  e.preventDefault();
  $('.expander').slideToggle();
  $('.expander ').animate({scrollTop: $('.expander')[0].scrollHeight}, 'slow');
  $('html, body').animate({scrollTop: $(document).height()}, 'slow');
});

滚动基于 div 滚动高度

于 2013-09-03T20:20:01.003 回答
1
$("#something").click(function() {
  $('html, body').animate({
     scrollTop: $("#element").offset().top
 }, 1000);
});

您使用的是类名而不是 id。您必须滚动到唯一元素。

于 2013-09-03T20:18:54.810 回答
1

试试这个。

  $('.button').click(function(e){
  e.preventDefault();
  $('.expander').slideToggle();
    $("html, body").animate({ scrollTop: $(document).height() }, 2000);
});

演示http://jsfiddle.net/CLzfW/17/

于 2013-09-03T20:23:16.670 回答