2012-10-09 5 views
0

다음 문제가 있습니다. 3/4 페이지를 스크롤 할 때 몇 가지 이벤트를 실행해야합니다. 나는 그렇게 : 좀 더 시간을 가지고이벤트가 2/3 페이지를 스크롤 할 때 실행되지 않음

내가 콘솔에서 볼 때

var limit_height = 3/4 * jQuery('body').height(); 

jQuery(window).scroll(function() { 

     if (jQuery(window).scrollTop() > limit_height) { 

        alert('You are scrolled 3/4 of page!'); 

     } 

}); 

그래서 (내가 현재 scrollTop 확인), 때 현재 scrollTop < 3/4 * body_height (그래서 limit_height). 따라서 이벤트가 실행되지 않습니다.

가능한 경우 오류가있는 곳에서 도와주십시오.

답변

0

여기서 일어나는 일은 창 높이를 제외한 계산입니다. 따라서 3/4 이상으로 페이지를 스크롤하려면 페이지가보기 포트에 비해 매우 큰 경우를 제외하고는 이미 최대 scrollTop에 있어야합니다. 몸이 2000px 높이와 뷰 포트 키가 700 픽셀 말할 수 있기 때문에

limit_height = 3/4 * (jQuery('body').height() - jQuery(window).height()); 
jQuery(window).scroll(function() { 
     if (jQuery(window).scrollTop() > limit_height) { 
        alert('You are scrolled 3/4 of page!'); 
     } 
}); 

계산 위의 창 높이를 제외 것 : 여기

그것을 해결하는 방법입니다. 계산에 따르면 한도는 1500px이지만 최대 스크롤 톱은 1300px입니다. 뷰 포트 자체에서 스크롤 할 수 없기 때문에 스크롤 조건이 충족되지 않을 수 있습니다.

관련 문제