需要帮助修改jquery.scrollto.js

时间:2015-01-23 22:40:12

标签: jquery jquery-plugins scrollto

我使用此插件(https://github.com/flesler/jquery.localScroll/blob/master/jquery.localScroll.js)为我网站上的垂直滚动设置动画。

我需要从滚动中删除85个像素。因此,如果该部分位于1000,那么我希望该网站滚动到915。

我正在使用下面的scrollto插件。我很容易通过向scrollTop添加-85来自己修改那个,但该插件仅适用于safari,这就是为什么我决定使用更新版本的scollto插件。现在我不知道如何修改新版本。有人可以帮助我吗?

旧版Scrollto:

$.scrollTo = $.fn.scrollTo = function(x, y, options){
if (!(this instanceof $)) return $.fn.scrollTo.apply($('html, body'), arguments);

options = $.extend({}, {
    gap: {
        x: 0,
        y: 0
    },
    animation: {
        easing: 'swing',
        duration: 600,
        complete: $.noop,
        step: $.noop
    }
}, options);

return this.each(function(){
    var elem = $(this);
    elem.stop().animate({
        scrollLeft: !isNaN(Number(x)) ? x : $(y).offset().left + options.gap.x,
        scrollTop: !isNaN(Number(y)) ? y : $(y).offset().top + options.gap.y - 85
    }, options.animation);
});

1 个答案:

答案 0 :(得分:2)

由于 scrollto.js 设置了offset,您可以在不修改插件的情况下轻松设置默认偏移量。

$(function(){

    // set default offset to -85:
    $.scrollTo.defaults.offset = -85;

    //then call your localScroll:
    $("#your_elem").localScroll({
        // plugin options
    });

});