我使用此插件(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);
});
答案 0 :(得分:2)
由于 scrollto.js 设置了offset
,您可以在不修改插件的情况下轻松设置默认偏移量。
$(function(){
// set default offset to -85:
$.scrollTo.defaults.offset = -85;
//then call your localScroll:
$("#your_elem").localScroll({
// plugin options
});
});