2015-01-23 2 views
0

이 플러그인을 사용하여 (https://github.com/flesler/jquery.localScroll/blob/master/jquery.localScroll.js) 내 사이트에서 세로 스크롤을 움직입니다.jquery.scrollto.js를 수정하는 데 도움이 필요합니다.

스크롤에서 85 픽셀을 제거해야합니다. 따라서 섹션이 1000에 있으면 915로 스크롤해야합니다.

아래에서 scrollto 플러그인을 사용하고있었습니다. scroll-toop에 -85를 추가하여 mod를 쉽게 만들 수 있었지만, 플러그인은 사파리에서만 작동하기 때문에 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); 
}); 

답변

2

scrollto.js이후 플러그인을 수정하지 않고 오프셋, 당신은 쉽게 기본 설정할 수 있습니다 offset 설정이 있습니다.

$(function(){ 

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

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

}); 
+0

효과가있었습니다. 고맙습니다! – Reisol

관련 문제