UNPKG

ukelli-ui

Version:

[![Build Status](https://travis-ci.org/ukelli/ukelli-ui.svg?branch=master)](https://travis-ci.org/ukelli/ukelli-ui) [![install size](https://packagephobia.now.sh/badge?p=ukelli-ui)](https://packagephobia.now.sh/result?p=ukelli-ui)

60 lines (49 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = setDOMById; exports.getElementLeft = getElementLeft; exports.getElementTop = getElementTop; exports.getElementOffset = getElementOffset; function setDOMById(targetID) { var className = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; if (!targetID) console.log('params id is required'); var targetDOM = document.getElementById(targetID); if (!targetDOM) { targetDOM = document.createElement('div'); targetDOM.id = targetID; targetDOM.className = className; document.body.appendChild(targetDOM); } return targetDOM; } function getElementLeft(element) { if (!element) return; var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null) { actualLeft += current.offsetLeft + current.clientLeft; current = current.offsetParent; } return actualLeft; } function getElementTop(element) { if (!element) return; var actualTop = element.offsetTop; var current = element.offsetParent; while (current !== null) { actualTop += current.offsetTop + current.clientTop; current = current.offsetParent; } return actualTop; } function getElementOffset(elem) { if (!elem) return console.log('please pass elem'); var left = getElementLeft(elem); var top = getElementTop(elem); return { offsetLeft: left, offsetTop: top }; }