Как определить высоту и положение прокрутки окна в jQuery?

Мне нужно получить высоту окна и смещение прокрутки в jQuery, но мне не удалось найти это в документации jQuery или в Google.

Я на 90% уверен, что есть способ получить доступ к высоте и scrollTop для элемента (предположительно, включая окно), но я просто не могу найти конкретную ссылку.

Как насчет без jQuery?

Costa 15.01.2015 19:59

@Costa Это, вероятно, задавали в другом месте на StackOverflow, и если нет, то это заслуживает отдельного вопроса.

One Crayon 04.02.2015 01:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
181
2
348 906
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

$(window).height()

$(window).width()

Также есть плагин к jquery для определения местоположения элемента и смещения.

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

scrolling offset = offsetHeight свойство элемента

Спасибо, Джозеф. Это не совсем то, что я искал, поскольку я пытался избежать использования другого плагина, но вы заставили меня искать в правильном направлении. В конце концов, оказалось, что мне действительно нужен был '$ (window) .scrollTop ()', чтобы выяснить, какая часть страницы прошла мимо области просмотра, чтобы соответствующим образом скорректировать элементы.

DA. 14.10.2009 20:26
Ответ принят как подходящий

Из документации jQuery:

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

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

Цифры, которые я просто пропустил в документации; искал их, но их организация, откровенно говоря, не имеет для меня смысла (я все еще думаю в Mootools). Спасибо!

One Crayon 20.11.2008 02:31

Это не работает ни в одном браузере для jQuery 1.3.2, хотя предположительно он был добавлен в более раннюю версию. Либо это, либо у меня что-то не так с моим кодом здесь

Philluminati 04.06.2010 12:48

$ (window) .height () дает высоту окна просмотра, а не высоту прокрутки. $ (document) .height () дает реальную высоту прокрутки, как предложила Айдамина.

Jonathan 07.03.2011 04:51

Меня часто удивляет, сколько голосов за такие простые вещи привлекают, но, поскольку я уже проверял это дважды на этой неделе, есть еще +1

Neil 17.05.2016 15:52

из http://api.jquery.com/height/ (Примечание: разница между использованием для окна и объекта документа)

$(window).height();   // returns height of browser viewport
$(document).height(); // returns height of HTML document

от http://api.jquery.com/scrollTop/

$(window).scrollTop() // return the number of pixels scrolled vertically

Чистый JS

window.innerHeight
window.scrollY

более чем в 10 раз быстрее, чем jquery (и код имеет аналогичный размер):

Здесь вы можете выполнить тест на своей машине: https://jsperf.com/window-height-width

window.scrollY, получить высоту верха прокрутки
xgqfrms 05.06.2020 19:40

Если вам нужно прокрутить до точки элемента. Вы можете использовать функцию JQuery для прокрутки вверх / вниз.

$('html, body').animate({
                scrollTop: $("#div1").offset().top
            }, 'slow');

Другие вопросы по теме