1
var Height = 600;

    $('#message_container').scroll(function(){
        if ($('#message_container').scrollTop() > Height){
            alert('up');

        }else{
            alert('down');
        }
    });

我有 div overflow-y:auto,它每次提取 10 条消息。

我尝试使用 jquery 向上滚动来获取更多消息。

div高度为 600 像素;在我测试时,即使我向上滚动它也会保持警觉,有人知道为什么吗?

这是小提琴 http://jsfiddle.net/asEmz/

4

2 回答 2

4

来自 jQuery

垂直滚动位置与在可滚动区域上方的视图中隐藏的像素数相同。如果滚动条位于最顶部,或者元素不可滚动,则此数字将为 0

所以用 0演示测试

$(document).ready(function(){           
    $("#message_container").scrollTop($("#message_container")[0].scrollHeight);

    var Height = 600;

    $('#message_container').scroll(function(){
        if ($('#message_container').scrollTop() == 0){
            $('#status').html('up');
            //alert('up');

        }else{
            $('#status').html('down');
            //alert('down');
        }
    });

});
于 2013-07-30T11:35:46.533 回答
0
$(document).ready(function(){           
$("#message_container").scrollTop($("#message_container")[0].scrollHeight);

var Height = 60;

$('#message_container').scroll(function(){
    if ($('#message_container').scrollTop() < Height){
        alert('up');

    }else{
        alert('down');
    }
});

});
于 2013-07-30T11:31:43.983 回答