@moomfe/zenjs
Version:
ZenJS 是一个高性能的 JavaScript 工具库。
27 lines (19 loc) • 684 B
JavaScript
import inBrowser from "../../../shared/const/inBrowser";
import defineValue from "../../../shared/util/defineValue";
import ElementProto from "../../../shared/global/DomElement/prototype/index";
import { $isNumber } from "../../../shared/util/isNumber";
if( inBrowser ){
[ 'width', 'height' ].forEach( prop => {
defineValue( ElementProto, `$${ prop }`, function( value ){
if( arguments.length ){
this.style.setProperty( prop, $isNumber( value ) ? `${ value }px` : value );
return this;
}
try{
return this.getBoundingClientRect()[ prop ];
}catch( error ){
return 0;
}
});
});
}