滚动到DIV的垂直中间

时间:2013-12-11 09:19:00

标签: jquery scrolltop

我有一个设计有一些div的单页设计。当我点击菜单链接(“3”)时,我想滚动到div#3,它应该在屏幕的垂直中间。

我试过了:

$('#go').click(function() {
$('html,body').animate({ scrollTop: $(.box).offset().top - ( $(window).height() -
$(.box).outerHeight(true) ) / 2  }, 200);
});

它不起作用。我忘记了什么?

这是一个小提琴:http://jsfiddle.net/herrfischerhamburg/7CVtm/1/

1 个答案:

答案 0 :(得分:3)

您需要将引号括起来:$('.box')

$('#go').click(function (e) {
    e.preventDefault();
    var $box = $('.box').eq(2); // select the third box

    $('html, body').animate({
        scrollTop: $box.offset().top - ($(window).height() - $box.outerHeight(true)) / 2
    }, 200);
});

Updated fiddle