Як визначити висоту та положення прокрутки вікна в jQuery?


179

Мені потрібно схопити висоту вікна та зміщення прокрутки в jQuery, але мені не пощастило знайти це в документах jQuery чи Google.

Я на 90% впевнений, що є спосіб отримати висоту та scrollTop для елемента (імовірно, включаючи вікно), але я просто не можу знайти конкретну посилання.


2
А як без jQuery?
Коста

@Costa Це, швидше за все, запитували в іншому місці StackOverflow, і якщо ні, то це заслуговує на власне питання.
Один олівець

Відповіді:


296

З Документів jQuery:

const height = $(window).height();
const scrollTop = $(window).scrollTop();

http://api.jquery.com/scrollTop/
http://api.jquery.com/height/


1
Цифри я просто пропустив це в документах; шукав їх, але їхня організація, відверто кажучи, не має для мене сенсу (я все ще думаю в Mootools, я думаю). Дякую!
Один олівець

Це не працює в жодному браузері для jQuery 1.3.2, навіть якщо він нібито був доданий у більш ранній версії. Або це, або у мене тут щось не так
Philluminati

11
$ (window) .height () дає вікно перегляду висоти, а не висоту прокрутки. $ (document) .height () дає реальну висоту прокрутки, як запропонував Айдаміна.
Джонатан

Мене часто дивує, скільки приваблюють такі прості речі, як ця, але, оскільки я вже два рази цього тижня шукав, ще один +1
Ніл



6
$(window).height()

$(window).width()

Існує також плагін до jquery для визначення місця розташування та зміщення елементів

http://plugins.jquery.com/project/dimensions

прокрутка зміщення = offsetHeight властивість елемента


1
Спасибі, Йосифе. Це не зовсім те, що я шукав, тому що я намагався уникати використання іншого плагіна, але ви змусили мене шукати в правильному напрямку. Зрештою, виявляється, що мені дійсно потрібно було "$ (window) .scrollTop ()", щоб з'ясувати, яка частина сторінки прокручується повз вікно перегляду, щоб відповідно відрегулювати елементи.
DA.

0

Якщо вам потрібно прокрутити до точки елемента. Ви можете використовувати функцію Jquery для прокручування її вгору / вниз.

$('html, body').animate({
                scrollTop: $("#div1").offset().top
            }, 'slow');
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.