UNPKG

vimo-dt

Version:

A Vue2.x UI Project For Mobile & HyBrid

56 lines (49 loc) 1.58 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.getStyle = getStyle; exports.getStyleNum = getStyleNum; exports.setStyle = setStyle; exports.getSize = getSize; var _type = require('./type'); function getStyle(el, styleName) { return el.style[styleName] ? el.style[styleName] : el.currentStyle ? el.currentStyle[styleName] : window.getComputedStyle(el, null)[styleName]; } function getStyleNum(el, styleName) { return parseInt(getStyle(el, styleName).replace(/px|pt|em/gi, '')); } function setStyle(el, obj) { if ((0, _type.isObject)(obj)) { for (var s in obj) { var cssArrt = s.split('-'); for (var i = 1; i < cssArrt.length; i++) { cssArrt[i] = cssArrt[i].replace(cssArrt[i].charAt(0), cssArrt[i].charAt(0).toUpperCase()); } var cssArrtnew = cssArrt.join(''); el.style[cssArrtnew] = obj[s]; } } else if ((0, _type.isString)(obj)) { el.style.cssText = obj; } } function getSize(el) { if (getStyle(el, 'display') !== 'none') { return { width: el.offsetWidth || getStyleNum(el, 'width'), height: el.offsetHeight || getStyleNum(el, 'height') }; } var addCss = { display: '', position: 'absolute', visibility: 'hidden' }; var oldCss = {}; for (var i in addCss) { oldCss[i] = getStyle(el, i); } setStyle(el, addCss); var width = el.clientWidth || getStyleNum(el, 'width'); var height = el.clientHeight || getStyleNum(el, 'height'); for (var _i in oldCss) { setStyle(el, oldCss); } return { width: width, height: height }; }