是的,这是正确的行为!
我有一个包含溢出文本的div,我想点击相应的按钮滚动浏览它。它被设置为在任意方向上滚动100个像素。当我使用这个函数时,它工作得很好——不使用jQuery.animation.
$(function() {
$( "#upBtn" ).click(function(){
$('#scroll').scrollTop($('#scroll').scrollTop()-100);
});
$( "#downBtn" ).click(function(){
$('#scroll').scrollTop($('#scroll').scrollTop()+100);
});
但一旦我添加.animate,我只能在任一方向上单击该按钮一次。它不会让我向下滚动超过前100个像素。
$("#scroll").animate({ scrollTop: "100px" });
有什么建议吗?我组装了一支代码笔。
为什么?
因为它已经是100px了,所以它不会再滚动了。
应该做什么:
你可以获得当前滚动顶部的位置并添加100px。如下所示:
$("#scroll").animate({ scrollTop: $("#scroll").scrollTop() + 100 });
其他方面也是如此。