2013-12-16 5 views
3

페이지 높이가 각각 10 블록 인 페이지가 있습니다. 페이지 URL # 1과 같은 페이지를 스크롤하는 URL에 블록 id를 추가하여 url을 변경하려고합니다. URL은 괜찮 으면 좋겠지 만 이드를 찾으려고하는 저크. 저크없이 부드럽게 변경 사항을 전환하려면 어떻게해야합니까?URL에서 ID를 변경하는 페이지가 급한가요?

<div class="block" id="one"> 
     <p>....</p> 
    </div> 
    <div class="block" id="two"> 
     <p>....</p> 
    </div> 

jQuery를

$('.block').each(function(){ 
     if (
      $(this).offset().top < window.pageYOffset + 10 
      && $(this).offset().top + $(this).height() > window.pageYOffset + 10 
     ){ 
      window.location.hash = $(this).attr('id'); 
      } 
    }); 
+0

왜 'id'가있는 원하는 '블록'을 직접 가리 키지 않고 각 '블록'에 대해 그렇게합니까? ? – BeNdErR

+0

URL을 페이지 아래로 스크롤하는 url에 추가하여 URL을 변경하려고합니다. – user1437251

답변

0

window.location.hash의 값을 설정하여, 물리적 페이지에서 해당 요소로 이동합니다 브라우저를 말하고 있기 때문입니다.

대부분의 경우 당신이 실제 ID를 사용하지 않는 모방하려고하는 페이지 만 자리 표시 자들, 예를 들면 :

http://url.com/#block-one

그리고 무언가를 페이지로드에서 스크립트를 가지고 like :

$(function() { 
    if(window.location.hash.substring(0, 7) === "#block-") { 
     // Scroll to block whatever... 
    } 
}); 
관련 문제