# Yahoo! UI Library

### dom 3.3.0

Yahoo! UI Library > dom > dom-size.js (source view)
Search:
Filters Show Private Show Protected Show Deprecated

    Y.mix(Y.DOM, {
        /**
         * Sets the width of the element to the given size, regardless
         * of box model, border, padding, etc.
         * @method setWidth
         * @param {HTMLElement} element The DOM element.
         * @param {String|Int} size The pixel height to size to
         */

        setWidth: function(node, size) {
            Y.DOM._setSize(node, 'width', size);
        },

        /**
         * Sets the height of the element to the given size, regardless
         * of box model, border, padding, etc.
         * @method setHeight
         * @param {HTMLElement} element The DOM element.
         * @param {String|Int} size The pixel height to size to
         */

        setHeight: function(node, size) {
            Y.DOM._setSize(node, 'height', size);
        },

        _setSize: function(node, prop, val) {
            val = (val > 0) ? val : 0;
            var size = 0;

            node.style[prop] = val + 'px';
            size = (prop === 'height') ? node.offsetHeight : node.offsetWidth;

            if (size > val) {
                val = val - (size - val);

                if (val < 0) {
                    val = 0;
                }

                node.style[prop] = val + 'px';
            }
        }
    });

Copyright © 2011 Yahoo! Inc. All rights reserved.