jQuery - 使用偏移滚动到顶部

时间:2018-03-03 14:26:01

标签: jquery

功能

var navigationFn = {
goToSection: function(id,offset) {
    if ($(offset)=="") {var offset = -10;}
    $('html, body').animate({
        scrollTop: $(id).offset().top + offset
    }, 1500);
  }
}

应该将用户移动到具有特殊偏移量的id。如果没有指定的偏移量,则默认值为-10

这对我来说很好。

navigationFn.goToSection('#id',-70);

但我有几个“旧”的电话,如

navigationFn.goToSection('#id');

他们将我带到html文档的顶部,而不是id。

是否可以在不更改旧呼叫的情况下同时使用这两个呼叫?

1 个答案:

答案 0 :(得分:2)

offset不是jQuery对象,而是数字类型函数参数,因此您不需要$(offset)或其他东西。

只需offset = offset || -10;

如果未在函数

中传递,则将偏移量设置为-10
var navigationFn = {
goToSection: function(id,offset) {
    var offset = offset || -10;
    $('html, body').animate({
        scrollTop: $(id).offset().top + offset
    }, 1500);
  }
}