Срещу "scrollTop" в jQuery - jquery

jQuery има функция наречена scrollTop, която може да се използва за намиране на броя скрити пиксели над текущия изглед на страницата.

Не съм сигурен защо, но няма функция scrollBottom, която да връща броя на пикселите под текущия изглед на страницата.

Има ли плъгин jQuery, който добавя тази функционалност? Или това ще изисква някаква сложна математика с височината на прозореца / документа и стойността на скрола?

Отговори:

36 за отговор № 1

Можете да направите доста прост плъгин за това:

$.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 за отговор № 2

Може би това ще помогне как да укажете на jquery да превъртите до дъното, защото наистина няма противоположна функция. Същият проблем е и с scrollLeft - няма скрол


1 за отговор № 3

Ако искате да превъртите надолу (Обратно на „scrollTop“), опитайте се да използвате вертикалната позиция на аргумента. Като този:

$(document).ready(function(){
$("button").click(function(){
//position on pixeles
$("body").scrollTop(1300);
});
});

Горната част на тялото ще бъде: $("body").scrollTop(0);


0 за отговор № 4

Можете да опитате scrollTo плъгин и направете нещо като:

$.scrollTo( document.height )

0 за отговор № 5
function scrollBottom()
{
return $( window ).scrollTop() + $( window ).height();
}

// example usage
$( "#footer" ).css( "top", scrollBottom() - $( "#footer" ).height() );

0 за отговор № 6

Тъй като поведението по подразбиране на 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);
}

0 за отговор № 7

Така изчислих разстоянието от долната част на елемента до дъното на документа:

$(document).height() - ($("#element").offset().top + $("#element").height());

0 за отговор № 8

Опитайте тази:

return this[0].scrollHeight - this.scrollTop() - this.height();