File: dom/js/dom-size.js
- 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|Number} 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|Number} 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';
- }
- }
- });
-
-