2016-10-19 2 views
1

이 JQuery 기능이 있습니다. 콘텐츠를 중첩하는 고정 된 Navbar가있어서 크기를 60px로 스크롤하고 싶습니다. 이 코드에이 60px를 어떻게 추가 할 수 있습니까?Jquery 앵커로 스크롤 -60px

/** 
* Scroll to section 
* @param string des HTML identity of section block 
* @return void 
*/ 
function goToSectionID(des){ 
    var os = (history.pushState)?51:0; 
    os = (jQuery(window).width()>800)?os:0; 

    var pos = (jQuery(des).length>0)?jQuery(des).offset().top-os:0; 
    onanimate = true; 
    jQuery('html,body').animate({scrollTop:pos},1000,function(){ 
     if(history.pushState){ 
      history.pushState(null,null,des); 
     }else window.location.hash = des; 
     jQuery(window).scrollTop(pos); 
     onanimate=false 
    }); 
} 
+0

'jQuery를 (창) .scrollTop (POS - 60)입니다;'? –

답변

0

그 기능은 지나치게 복잡하거나 너무 단순하지만 의존적이지만 코드를 보지 못했습니다.

가장 쉬운 방법 :

$(".arrowimg").click(function() { 
    $('html, body').animate({ 
    scrollTop: $('#in').offset().top += 500 
    },500); 
    }); 

첫 번째 줄은, 분명의 EventListener 및 핸들러입니다. 두 번째 라인은 크로스 브라우저의 이유로 html과 body를 대상으로합니다. 애니메이션 메서드를 사용하십시오. ScrollTop, 여기에 HTML 그리고

<div class="arrowimg" id="in"></div> 

당신이 위 또는 아래로 60 픽셀 더 가고 싶은 경우에 우리는 당신의 코드가 없어하지만 그건 나는이 몰라에서와 같이 ID 앵커와 다음 대상 + 또는 -의 문제.

여기 링크

http://codepen.io/damianocel/pen/zBLEXR

관련 문제