>

페이지가로드 될 때 해시 URL을 기준으로 앵커로 부드럽게 스크롤하기 위해 페이지로 가고 싶습니다.

www.domain.com/pagename/#matches

이것은 있지만 작동하지 않습니다

var elem = $('#_' + window.location.hash.replace('#', ''));
if(elem) {
     $('html,body').animate({
          scrollTop: $('#' + elem).offset().top-65
        }, 1000);
        return false;
}

콘솔 오류는

구문 오류, 인식 할 수없는 표현식 : # [object Object]

업데이트

나와 협력하고있어

if(window.location.hash) {
     var elem = window.location.hash;
     $('html,body').animate({
          scrollTop: $(elem).offset().top-65
        }, 1000);
        return false;
}

애니메이션이 완료 될 때 기본 앵커 동작이 시작되어 페이지를 이동하여 달성하려는 오프셋을 무시합니다.

  • 답변 # 1

    귀하의 질문을 올바르게 이해했다면 해시가 있는지 확인한 다음 URL에서 추출하여 scrollTop 에 전달하십시오. .

    if(window.location.hash) {
          var hash = window.location.hash.substring(1);
          $(document.body).animate({
              'scrollTop':   $('#' + hash).offset().top
          }, 2000);
    }
    
    

  • 이전 haskell - 파티션 '[문자열]' '각각의 제 String``Char`하여
  • 다음 laravel 5 - 데이터베이스 값을 config/servicesphp 파일에 어떻게로드합니까?