2012-12-06 2 views
1

jquery scrollToFixed가 페이지의 맨 위에 도달하면 멈 춥니 다. 맨 위에 고정되어 있다고 가정되는 div 맨 위에 표시됩니다.jquery scrollToFixed가 페이지의 맨 위에 도달했을 때 중지되었습니다.

Here is what I have so far.

var arr = new Array(); 
$('div[id^="post"]').each(function() 
{ 
    // do something with it... 
    var id = $(this).attr("id").slice(5); 
    //alert(id); 

    arr.push(id); 

    $(this).css('background-color', 'green'); 
}); 

    for (i = 0; i < $('div[id^="post"]').length; i++) { 
     //alert(arr[i+1]); 

      $('#float-'+arr[i]).scrollToFixed({ 
     limit: $('#post-'+arr[i+1]).offset().top - $('#float-'+arr[i]).height()-220 
    }); 
    }​ 

jquery scrollToFixed 플러그인을 사용하고 있습니다.

내가 9gag.com에 동일한 효과를 달성하기 위해 노력하고, 그는 화면, I got the idea here t 아래로 여러 사이드 바 div의 스크롤.

페이지를 스크롤하면 왼쪽 div의 끝에 도달 할 때까지 올바른 div가 고정되어야하지만, 어떤 이유로 인해 오른쪽 div가 페이지 맨 위에 고정되고 상단 (광고 탐색) div는 항상 고정으로 설정됩니다.

답변

0

내가 제대로 후 예상된다 무슨 일이 일어나고 있는지를 이해합니다. JQuery와 플러그인 (scrollToFixed)는 당신이 자신을 그렇게해야 할거야 그래서 다른 아래 위치에있는 요소를 원하는 것을 알고하지 않습니다.

가장 쉬운 방법은 # float-63 (매우 좋은 ID는 아니지만) 아래에 위치해야하는 요소의 높이와 동일한 여백을 제공하는 것입니다. 70 픽셀이 정상적으로 작동하는 것 같습니다.

이 문제는 이 아닌 경우에도이 "고정"인 경우에도 70px 여백이 발생한다는 점입니다. 고정 간다하지만 당신이 jQuery를 알고있는 경우 추가 아주 쉽게해야 할 때 플러그인이 요소에 클래스의 어떤 종류를 추가하는 것 같지 않습니다. 나는 워드 프레스를 사용하고 #float-63.scroll-to-fixed {margin-top: 70px}

+0

그런 다음 당신은 단순히 떠-63를 너무 따라서 #, 각 문서는 고유 ID를 가지고 할 수 있습니다. 나는 jquery를 많이 알지 못한다. 지금 가지고있는 것을 얻는데 거의 5 시간이 걸렸다. 어디에서이 값을 # float-63.scroll-to-fixed {margin-top : 70px}로 할 것인가? 인터넷 검색을 계속하고 jquery API를 살펴 보겠습니다. 내가 한 –

+0

내가 답을 찾을 발견하는 경우 여기에 대답을 게시 할 예정입니다, 올바른 방향으로 날 가리키는 주셔서 감사합니다. 이제 그림의 끝 부분에 도달하면 고정 div의 위치를 ​​상대적으로 설정하는 방법을 찾아야 만 마침내 생산 사이트에 배치 할 수 있습니다. –

관련 문제