2012-10-03 3 views
-1

사용자가 특정 문서 높이에 도달하면 팝업이 표시되기를 원합니다. 수있는 HTML 기능에스크롤 막대의 수직 위치를 일정하게 가져 오기

function doch() { 
    var currentscrollpos; 
    if (currentscrollpos > 1500) { 
     //trigger popup 
     alert(currentscrollpos); 
    } 
    setInterval(function() { 
     currentscrollpos = $(document).scrollTop(); 
     return currentscrollpos; 
    }, 3e3); 
}​ 

: 예를 들어 독자가 접근 ~ 팝업가 그/그녀의 입력을 요청하는 트리거 될 수있는 게시물의 끝 내가/가져 오는 시도를 통해 문서의 높이를 통과 (좋아 게시 여부를 언급) doch()를 통해 간단히 트리거됩니다.

문제는 currentscrollpos의 값은 루프 경우 로하여 setInterval 함수에서 전달 될 수 있는지?

답변

0

사용자가 페이지를 아래로 스크롤 할 때 바인드 할 수있는 경우 왜 setInterval을 사용합니까? 당신의 깔끔한 답변

$(window).scroll(function(){ //when a user scrolls 
    if(this.pageYOffset + $(this).height() > $(document).height() - 200){ //if the scroll is within 200 px of the bottom of the page 
     $('div').css('background', 'red'); //do popup 
    } 
}); 

http://jsfiddle.net/rUbwq/2/

+0

감사합니다. 그러나 학습자가되는 이유는 currentscrollpos의 코드 값이 if 루프로 전달되지 않는 이유입니다. – nightcrawler

+0

또한 this.height() 대신 $ (this) .height()를 사용하는 이유를 알고 싶습니다. – nightcrawler

관련 문제