使用ID的元素偏移量运行ScrollTop

时间:2012-03-08 14:15:32

标签: jquery scrolltop

尝试使浏览器滚动到具有添加偏移量的特定ID -

$('html, body').animate({scrollTop: $('#contact').offset().top}, 'slow');

我需要做的是将偏移设置为-100px。我怎么能做到这一点?

4 个答案:

答案 0 :(得分:120)

不涉及魔法,只是从元素的偏移顶部减去

$('html, body').animate({scrollTop: $('#contact').offset().top -100 }, 'slow');

答案 1 :(得分:0)

var top = ($(".apps_intro_wrapper_inner").offset() || { "top": NaN }).top;   
if (!isNaN(top)) {
$("#app_scroler").click(function () {   
$('html, body').animate({
            scrollTop: top
        }, 100);
    });
}

如果您想从特定的div上下滚动一点,这样就可以在顶部添加值.....就像我加800

var top = ($(".apps_intro_wrapper_inner").offset() || { "top": NaN }).top + 800;

答案 2 :(得分:0)

不涉及逻辑,只需要用 -215 进行减法,准确地将我的 div 正确地放在最高位置

realloc()

答案 3 :(得分:0)

jQuery(function($) {
  $('a[href*="#"]:not([href="#"])').click(function() {
      var target = $(this.hash);
        $('html,body').stop().animate({
          scrollTop: target.offset().top - 120
        }, 'linear');   
  });    
    if (location.hash){
    var id = $(location.hash);
    }
    $(window).on('load', function() {
    if (location.hash){
        $('html,body').animate({scrollTop: id.offset().top -120}, 'linear')
    };
    });
});

这对我有用。