2013-07-03 2 views
121

내 웹 사이트에서 다음과 같은 jQuery 기능을 사용하고 있습니다. 즉, window.scroll() 기능을 사용하여 윈도우가 스크롤 위치 변경을 변경하고 변경 호출시 데이터를로드하는 기능을 인식합니다 서버에서.jQuery를 사용하여 페이지의 스크롤 위치를 감지하는 방법

.scroll() 문제는 스크롤 위치와로드 데이터가 조금이라도 변경되는 즉시 호출되지만, 달성하고자하는 것은 스크롤/페이지 위치가 하단, 같은 페이스 북의 피드에 대한 일이.

그러나 jQuery를 사용하여 스크롤 위치를 감지하는 방법을 잘 모르겠습니다.

function getData() { 
    $.getJSON('Get/GetData?no=1', function (responseText) { 
    //Load some data from the server 
    }) 
}; 

$(window).scroll(function() { 
    getData(); 
}); 

답변

218

당신은 당신은 window.scrollTop() 기능을 찾고 있습니다 jQuery's .scrollTop() method

$(window).scroll(function (event) { 
    var scroll = $(window).scrollTop(); 
    // Do something 
}); 
+21

어떻게 할 수 있습니까? –

+8

창 스크롤에 이벤트를 첨부하는 것은 좋지 않습니다. http://stackoverflow.com/questions/5036850/how-to-detect-page-scroll-to-a-present-point-in-jquery – hendr1x

+11

창 스크롤 듣기 그 자체로 나쁘지 않습니다. 그것은 사람들이 문제가 발생했을 때 그 사건을 해고 할 때마다 일을하려고 할 때입니다. 변수의 값을 현재 스크롤 위치 또는 true/false로 설정 한 다음 이벤트 외부에서 _those_를 사용하는 경우, 일반적으로 황금색이어야합니다. –

101

를 사용하여 스크롤 위치를 추출 할 수 있습니다.

$(window).scroll(function() { 
    var height = $(window).scrollTop(); 

    if(height > some_number) { 
     // do something 
    } 
}); 
30

확인 여기 DEMO http://jsfiddle.net/yeyene/Uhm2J/

function getData() { 
    $.getJSON('Get/GetData?no=1', function (responseText) { 
     //Load some data from the server 
    }) 
}; 

$(window).scroll(function() { 
    if($(window).scrollTop() + $(window).height() == $(document).height()) { 
     alert("bottom!"); 
     // getData(); 
    } 
}); 
4
$(window).scroll(function() { 
var scrolled_val = $(document).scrollTop().valueOf(); 
alert(scrolled_val+ ' = scroll value'); 
}); 

이 스크롤의 값을 얻기의 또 다른 방법입니다.

2

PostBack 주변에서 값을 검색하고 스크롤을 추가 할 때 HiddenField의 변경 내용으로 스크롤 값을 저장합니다. 그것은 잘 작동 ... 그리고 당신이 요소를 추적하고이를 제어 할 수 JQuery와/TweenMax를 사용할 수 있습니다

$(document).ready(function(){ 

    $(window).resize(function(e){ 
     console.log(e);     
    }); 

    $(window).scroll(function (event) { 
     var sc = $(window).scrollTop(); 
     console.log(sc); 
    }); 

}) 

나를 위해 작동

//jQuery 

jQuery(document).ready(function() { 

    $(window).scrollTop($("#<%=hidScroll.ClientID %>").val()); 

    $(window).scroll(function (event) { 
     $("#<%=hidScroll.ClientID %>").val($(window).scrollTop()); 
    }); 
}); 

var prm = Sys.WebForms.PageRequestManager.getInstance(); 

prm.add_endRequest(function() { 

    $(window).scrollTop($("#<%=hidScroll.ClientID %>").val()); 

    $(window).scroll(function (event) { 
     $("#<%=hidScroll.ClientID %>").val($(window).scrollTop()); 
    }); 
}); 

//Page Asp.Net 
<asp:HiddenField ID="hidScroll" runat="server" Value="0" /> 
2

이제 ....

+4

절대적으로 비방과 나쁜 말을 피하십시오. [도움말]을 읽으십시오. –

관련 문제