ScrollTop 告诉你你在哪里。检查现有顶部与滚动顶部并计算数学以设置您的限制。
var scrollTop = $('#thescrollingdiv').scrollTop();
var newTop = parseFloat($('#thescrollingdiv').css('top')) - 100;
if (scrollTop < 0) {
newTop = 0;
}
$('#thescrollingdiv').stop(true,true).animate({ "top": newTop}, 500)
更新
像这样的东西。
var topLimit = 0;
var bottomLimit = 800;
var containerTop = parseFloat($('container').css('top'));
var containerBottom = parseFloat($('container').css('height')) + containerTop;
var destination = containerTop - 100;
// compensate for going too far up
destination = (destination < 0) ? 0 : destination;
// compensate for going too far up
destination = (containerBottom > bottomLimit) ? bottomLimit : destination;
// now that you know you are within your custom limits, animate it.
animate(destination);
这几乎是伪代码,因为我不知道你的代码是什么样的,但它给了你一个想法。在您首先调用 animate 之前,您必须实际完成设置“newTop”限制的工作。
你可以弄清楚。不过,不要做一个懒惰的程序员。