API Docs for: 3.18.1
Show:

File: dom/js/dom-size.js

  1. Y.mix(Y.DOM, {
  2. /**
  3. * Sets the width of the element to the given size, regardless
  4. * of box model, border, padding, etc.
  5. * @method setWidth
  6. * @param {HTMLElement} element The DOM element.
  7. * @param {String|Number} size The pixel height to size to
  8. */
  9.  
  10. setWidth: function(node, size) {
  11. Y.DOM._setSize(node, 'width', size);
  12. },
  13.  
  14. /**
  15. * Sets the height of the element to the given size, regardless
  16. * of box model, border, padding, etc.
  17. * @method setHeight
  18. * @param {HTMLElement} element The DOM element.
  19. * @param {String|Number} size The pixel height to size to
  20. */
  21.  
  22. setHeight: function(node, size) {
  23. Y.DOM._setSize(node, 'height', size);
  24. },
  25.  
  26. _setSize: function(node, prop, val) {
  27. val = (val > 0) ? val : 0;
  28. var size = 0;
  29.  
  30. node.style[prop] = val + 'px';
  31. size = (prop === 'height') ? node.offsetHeight : node.offsetWidth;
  32.  
  33. if (size > val) {
  34. val = val - (size - val);
  35.  
  36. if (val < 0) {
  37. val = 0;
  38. }
  39.  
  40. node.style[prop] = val + 'px';
  41. }
  42. }
  43. });
  44.