UNPKG

ukelli-ui

Version:

ukelli-ui 是基于 React 的 UI 库,提供简约和功能齐全的组件,可高度定制的组件接口,灵活的配置,提供给开发者另一种开发思路,也致力于尝试不同的组件使用和开发方向。

55 lines (44 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = setDOMById; exports.getElementLeft = getElementLeft; exports.getElementTop = getElementTop; exports.getElementOffset = getElementOffset; var _utils = require("./utils"); 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) { return getElementOffset(element).offsetLeft; } function getElementTop(element) { return getElementOffset(element).offsetTop; } function getElementOffset(element) { if (!element) return; var actualTop = element.offsetTop; var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null) { actualLeft += current.offsetLeft + current.clientLeft - current.scrollLeft; actualTop += current.offsetTop + current.clientTop - current.scrollTop; current = current.offsetParent; } /** 需要把 body 的滚动加上 */ actualTop -= (0, _utils.getScrollTop)(); return { offsetLeft: actualLeft, offsetTop: actualTop }; }