I need to grab the height of the window and the scrolling offset in jQuery, but I haven't had any luck finding this in the jQuery docs or Google.
I'm 90% certain there's a way to access height and scrollTop for an element (presumably including the window), but I just can't find the specific reference.
-
2How about without jQuery?Costa Michailidis– Costa Michailidis2015年01月15日 16:59:23 +00:00Commented Jan 15, 2015 at 16:59
-
@Costa That has likely been asked elsewhere on StackOverflow, and if not it deserves to be its own question.One Crayon– One Crayon2015年02月03日 22:42:07 +00:00Commented Feb 3, 2015 at 22:42
5 Answers 5
From jQuery Docs:
const height = $(window).height();
const scrollTop = $(window).scrollTop();
http://api.jquery.com/scrollTop/
http://api.jquery.com/height/
4 Comments
from http://api.jquery.com/height/ (Note: The difference between the use for the window and the document object)
$(window).height(); // returns height of browser viewport
$(document).height(); // returns height of HTML document
from http://api.jquery.com/scrollTop/
$(window).scrollTop() // return the number of pixels scrolled vertically
Comments
Pure JS
window.innerHeight
window.scrollY
is more than 10x faster than jquery (and code has similar size):
Here you can perform test on your machine: https://jsperf.com/window-height-width
1 Comment
window.scrollY, get scroll top height$(window).height()
$(window).width()
There is also a plugin to jquery to determine element location and offsets
http://plugins.jquery.com/project/dimensions
scrolling offset = offsetHeight property of an element
1 Comment
If you need to scroll to a point of an element. You can use Jquery function to scroll it up/down.
$('html, body').animate({
scrollTop: $("#div1").offset().top
}, 'slow');