Socket
Socket
Sign inDemoInstall

@livelybone/scroll-get

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@livelybone/scroll-get - npm Package Compare versions

Comparing version 2.0.2 to 2.1.0

15

lib/es/index.js

@@ -0,8 +1,13 @@

function getRect(el) {
return el.getBoundingClientRect()
}
function posRelativeToPage(el) {
var o = { pageLeft: el.offsetLeft, pageTop: el.offsetTop };
var rect = getRect(el);
var o = { pageLeft: rect.left, pageTop: rect.top };
var ele = el;
while (ele.offsetParent) {
ele = ele.offsetParent;
o.pageLeft += ele.offsetLeft;
o.pageTop += ele.offsetTop;
rect = getRect(ele.offsetParent);
o.pageLeft += rect.left;
o.pageTop += rect.top;
}

@@ -20,2 +25,2 @@ return o

export { posRelativeToPage, posRelativeToClient };
export { getRect, posRelativeToPage, posRelativeToClient };

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.ScrollGet={})}(this,function(e){"use strict";function o(e){for(var t={pageLeft:e.offsetLeft,pageTop:e.offsetTop},o=e;o.offsetParent;)o=o.offsetParent,t.pageLeft+=o.offsetLeft,t.pageTop+=o.offsetTop;return t}e.posRelativeToPage=o,e.posRelativeToClient=function(e){var t=o(e);return{clientLeft:t.pageLeft-document.documentElement.scrollLeft,clientTop:t.pageTop-document.documentElement.scrollTop}},Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.ScrollGet={})}(this,function(e){"use strict";function f(e){return e.getBoundingClientRect()}function o(e){for(var t=f(e),o={pageLeft:t.left,pageTop:t.top},n=e;n.offsetParent;)t=f(n.offsetParent),o.pageLeft+=t.left,o.pageTop+=t.top;return o}e.getRect=f,e.posRelativeToPage=o,e.posRelativeToClient=function(e){var t=o(e);return{clientLeft:t.pageLeft-document.documentElement.scrollLeft,clientTop:t.pageTop-document.documentElement.scrollTop}},Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "@livelybone/scroll-get",
"version": "2.0.2",
"version": "2.1.0",
"description": "A module for get left/top distance to client or page of element",

@@ -5,0 +5,0 @@ "main": "./lib/umd/index.js",

# @livelybone/scroll-get
[![NPM Version](http://img.shields.io/npm/v/@livelybone--scroll-get.svg?style=flat-square)](https://www.npmjs.com/package/@livelybone--scroll-get)
[![Download Month](http://img.shields.io/npm/dm/@livelybone--scroll-get.svg?style=flat-square)](https://www.npmjs.com/package/@livelybone--scroll-get)
![gzip with dependencies: kb](https://img.shields.io/badge/gzip--with--dependencies-kb-brightgreen.svg "gzip with dependencies: kb")
![pkg.module](https://img.shields.io/badge/pkg.module-supported-blue.svg "pkg.module")
> `pkg.module supported`, which means that you can apply tree-shaking in you project
A module for get left/top distance of element, or get scrollLeft/scrollTop of document

@@ -20,8 +27,15 @@

```js
import {getRect, posRelativeToPage, posRelativeToClient} from '@livleybone/scroll-get'
/**
* @result {pageLeft:Number, pageTop:Number}|{clientLeft:Number, clientTop:Number}
* @result { DOMRect | ClientRect | TextRectangle }
* */
import {posRelativeToPage, posRelativeToClient} from '@livleybone/scroll-get'
var rect = getRect(document.getElementById('id'))
/**
* @result { Object: {pageLeft:Number, pageTop:Number} }
* */
var pos = posRelativeToPage(document.getElementById('id'))
/**
* @result { Object: {clientLeft:Number, clientTop:Number} }
* */
var pos1 = posRelativeToClient(document.getElementById('id'))

@@ -33,3 +47,3 @@ ```

import * as ScrollGet from '@livleybone/scroll-get'
const {posRelativeToPage, posRelativeToClient} = ScrollGet
const {getRect, posRelativeToPage, posRelativeToClient} = ScrollGet
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc