3 Star 54 Fork 14

Yaohaixiao / dom.js

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
innerWidth.js 1.25 KB
一键复制 编辑 原始数据 按行查看 历史
import isUndefined from './utils/types/isUndefined'
import isFunction from './utils/types/isFunction'
import pixel from './pixel'
import isElement from './isElement'
import _getElementSizes from './_getElementSizes'
import setStyle from './setStyle'
/**
* 获取或设置 DOM 元素的 innerWidth 值;
* innerWidth = style.height + padding 宽度(paddingRight + paddingLeft)
* ========================================================================
* @method innerHeight
* @param {HTMLElement} el
* @param {Number|Function} [val]
* @return {Number|*}
*/
const innerWidth = (el, val) => {
let width
if (!isElement(el)) {
return false
}
const { borderLeft, borderRight, paddingLeft, paddingRight, offsetWidth } =
_getElementSizes(el)
if (isFunction(val)) {
return val(el, {
borderLeft,
borderRight,
paddingLeft,
paddingRight,
offsetWidth
})
}
if (!isUndefined(val)) {
width = offsetWidth - (borderLeft + borderRight)
/* istanbul ignore else */
if (width !== val) {
setStyle(el, 'width', pixel(val - (paddingLeft + paddingRight)))
}
} else {
return offsetWidth - (borderLeft + borderRight)
}
}
export default innerWidth
JavaScript
1
https://gitee.com/yaohaixiao/dom.js.git
git@gitee.com:yaohaixiao/dom.js.git
yaohaixiao
dom.js
dom.js
main

搜索帮助