Element offsetTop Property
Example
Get the offsetTop position of a <div> element:
  var testDiv = document.getElementById("test");
document.getElementById("demo").innerHTML = testDiv.offsetTop;
 Try it Yourself »
Definition and Usage
The offsetTop property returns the top position (in pixels) relative to the top of the offsetParent element.
The returned value includes:
- the top position, and margin of the element
- the top padding, scrollbar and border of the offsetParent element
Note: The offsetParent element is the nearest ancestor that has a position other than static.
Tip: To return the left position of an element, use the offsetLeft property.
Browser Support
| Property | |||||
|---|---|---|---|---|---|
| offsetTop | Yes | 8.0 | Yes | Yes | Yes | 
Syntax
Return the top offset position:
 object.offsetTop
Technical Details
| Default Value: | no default value | 
|---|---|
| Return Value: | A Number, representing the top position of the element, in pixels | 
| DOM Version: | CSSOM | 
More Examples
Example
Get the position of a a <div> element:
  var testDiv = document.getElementById("test");
var demoDiv = document.getElementById("demo");
demoDiv.innerHTML = "offsetLeft: " + testDiv.offsetLeft + "<br>offsetTop: " + testDiv.offsetTop;
 Try it Yourself »
Example
Create a sticky navigation bar:
  // Get the navbar
var navbar = document.getElementById("navbar");
// 
  Get the offset position of the navbar
var sticky = navbar.offsetTop;
  
// Add the sticky class to the navbar when you reach its scroll position.
  Remove the sticky class when you leave the scroll position.
function myFunction() {
  if (window.pageYOffset  
  >= sticky) {
    navbar.classList.add("sticky")
  } 
  else {
    navbar.classList.remove("sticky");
  }
  }
 Try it Yourself »
