2012-04-20 7 views
0

저는 게시판에 jquery fixed sidebar가있는 WordPress 웹 사이트가 있습니다. 고정 된 사이드 바는 포스트 섹션에서 시작하여 주석 섹션에서 멈 춥니 다.JQuery 고정 사이드 바가 긴 콘텐츠에서 작동하지 않습니다.

나는이 잘 작동이 JQuery와

$window = $(window), 
    $sidebar = $("#side-scroller"), 
    sidebarTop = $sidebar.position().top, 
    sidebarHeight = $sidebar.height(), 
    $footer = $("#comments"), 
    footerTop = $footer.position().top,  
    $sidebar.addClass('fixed'); 

    function isScrolledIntoView(elem) 
    { 
     var docViewTop = $(window).scrollTop(); 
     var docViewBottom = docViewTop + $(window).height(); 

     var elemTop = $(elem).offset().top; 
     var elemBottom = elemTop + $(elem).height(); 

     return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop)); 
    } 


    $window.scroll(function(event) { 
     scrollTop = $window.scrollTop(), 
     topPosition = Math.max(0, sidebarTop - scrollTop), 
     topPosition = Math.min(topPosition, (footerTop - scrollTop) - sidebarHeight); 
     $sidebar.css('top', topPosition); 

     if(isScrolledIntoView('#comments')){ 
      $("#side-scroller").hide(); 
     } 
     else{ 
      $("#side-scroller").show(); 
     } 
    }); 

를 사용하고 있고 게시물 내용이 너무 긴 경우 그것은 결코 코멘트 섹션에서 정지하지 않습니다. (고정 사이드가 제대로 작동)

다음

당신이 데모를 볼 수

일반 포스트 http://webstutorial.com/google-server-side-geocoding-php-infobox/website-tweaks/google

본이 아닌 (사이드 스크롤에 계속) http://webstutorial.com/html5-css3-toggle-slideup-slidedown/html-5

그리고 긴 포스트 스팸 또는 연결 빌드, 그래서 아래로 표제 아니오

+0

투표기 다운 이유를 알 수 있습니까? –

답변

0

나는 그것이 작동하고 있다고 생각합니다. 적으로로드 후의 페이지 변경으로 인해 높이가 잘못 계산됩니다.

그래서 이것을 $ window.scroll 함수로 옮기면 스크롤 할 때 올바른 값을 가져와야합니다.

$footer = $("#comments"), 
footerTop = $footer.position().top; 
+0

좋아, 그냥 시도해보고 –

+0

감사했습니다. –

+0

환영합니다 :) –

관련 문제