jQuery有一个名为scrollTop的函数,可用于查找隐藏在当前页面视图上方的像素数。
我不确定原因,但没有scrollBottom函数返回当前页面视图下方的像素数。
是否有添加此功能的jQuery插件?或者是否需要使用窗口/文档高度和scrollTop值进行精心设计的数学运算?
答案 0 :(得分:36)
你可以为此制作一个非常简单的插件:
$.fn.scrollBottom = function() {
return $(document).height() - this.scrollTop() - this.height();
};
然后在你想要的任何元素上调用它,例如:
$(window).scrollBottom(); //how many pixels below current view
$("#elem").scrollBottom(); //how many pixels below element
答案 1 :(得分:1)
也许这会对how to tell jquery to scroll to bottom有所帮助,因为实际上没有相反的功能。同样是scrollLeft的问题 - 没有scrollRight
答案 2 :(得分:1)
如果您想向下滚动(与“scrollTop”相反),请尝试使用参数的垂直位置。像这样:
$(document).ready(function(){
$("button").click(function(){
//position on pixeles
$("body").scrollTop(1300);
});
});
身体的顶部将是:$("body").scrollTop(0);
答案 3 :(得分:0)
您可以尝试使用scrollTo插件并执行以下操作:
$.scrollTo( document.height )
答案 4 :(得分:0)
function scrollBottom()
{
return $( window ).scrollTop() + $( window ).height();
}
// example usage
$( '#footer' ).css( 'top', scrollBottom() - $( '#footer' ).height() );
答案 5 :(得分:0)
当scrollTop的默认行为在传递负值时滚动到0,我做了这个函数来处理scrollTop并模拟" scrollDown"。
如果 anchor_pos 为负(因此它高于我当前的滚动位置),我会从当前滚动位置减去其值(因为它有一个负值,我使用了+号)
function jumpToAnchor(scrollable_div_selector, anchor_selector)
{
anchor_pos = $(anchor_selector).position().top;
//check if negative number
if (anchor_pos < 0)
{
anchor_pos = $(scrollable_div_selector).scrollTop() + anchor_pos; //anchor_pos is negative, so i'm substracting it
}
$(scrollable_div_selector).scrollTop(anchor_pos);
}
答案 6 :(得分:0)
这就是我计算从元素底部到文档底部的距离:
$(document).height() - ($('#element').offset().top + $('#element').height());
答案 7 :(得分:0)
试试这个:
return this[0].scrollHeight - this.scrollTop() - this.height();