我在我的网站上遇到了jQuery功能的麻烦。它所做的是使用window.scroll()函数来识别窗口何时改变其滚动位置,并在更改时调用几个函数从服务器加载数据。

问题是.scroll()函数会在滚动位置发生微小变化并在底部加载数据时被调用;然而,我希望实现的是加载新数据时,滚动/页面位置达到底部,就像发生在Facebook feed。

但我不确定如何检测滚动位置使用jQuery?

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

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

当前回答

$('.div').scroll(function (event) {
 event.preventDefault()
 var scroll = $(this).scrollTop();
 if(scroll == 0){
   alert(123)
 }
});

chat_boxes的此代码用于加载以前的消息

其他回答

点击这里查看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();
   }
});

您正在寻找window.scrollTop()函数。

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

    if(height  > some_number) {
        // do something
    }
});
$(window).scroll( function() { 
 var scrolled_val = $(document).scrollTop().valueOf();
 alert(scrolled_val+ ' = scroll value');
});

这是另一种获取scroll值的方法。

你可以使用jQuery的.scrollTop()方法提取滚动位置

$(window).scroll(function (event) {
    var scroll = $(window).scrollTop();
    // Do something
});
$('.div').scroll(function (event) {
 event.preventDefault()
 var scroll = $(this).scrollTop();
 if(scroll == 0){
   alert(123)
 }
});

chat_boxes的此代码用于加载以前的消息