Skip to content

Commit a13d148

Browse files
added: elementOffsetLeft method
1 parent 754b90c commit a13d148

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Returns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer
5050

5151
### scrollLeft
5252

53-
Return amount of px scrolled from the top of the document
53+
Return amount of px scrolled from the left of the document
5454

5555
Returns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** scroll left value in px
5656

@@ -63,3 +63,13 @@ Get the offset top of any DOM element
6363
- `el` **[HTMLElement](https://developer.mozilla.org/en-US/docs/Web/HTML/Element)** the element we need to check
6464

6565
Returns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** the element y position in px
66+
67+
### elementOffsetLeft
68+
69+
Get the offset left of any DOM element
70+
71+
**Parameters**
72+
73+
- `el` **[HTMLElement](https://developer.mozilla.org/en-US/docs/Web/HTML/Element)** the element we need to check
74+
75+
Returns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** the element x position in px

index.next.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export function scrollTop() {
8585
}
8686

8787
/**
88-
* Return amount of px scrolled from the top of the document
88+
* Return amount of px scrolled from the left of the document
8989
* @returns { Number } scroll left value in px
9090
*/
9191
export function scrollLeft() {
@@ -104,4 +104,13 @@ export function scrollLeft() {
104104
*/
105105
export function elementOffsetTop(el) {
106106
return max(scrollTop() + el.getBoundingClientRect().top)
107+
}
108+
109+
/**
110+
* Get the offset left of any DOM element
111+
* @param { HTMLElement } el - the element we need to check
112+
* @returns { Number } the element x position in px
113+
*/
114+
export function elementOffsetLeft(el) {
115+
return max(scrollLeft() + el.getBoundingClientRect().left)
107116
}

test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,10 @@ describe('Bianco viewport', function() {
3636
assert.equal(typeof viewport.elementOffsetTop(div), 'number')
3737
assert.ok(notNaN(viewport.elementOffsetTop(div)))
3838
})
39+
40+
it('elementOffsetLeft is a number', function() {
41+
const div = document.createElement('div')
42+
assert.equal(typeof viewport.elementOffsetLeft(div), 'number')
43+
assert.ok(notNaN(viewport.elementOffsetLeft(div)))
44+
})
3945
})

0 commit comments

Comments
 (0)