Version 3.17.2

APIs

  • Begin typing in the search box above to see results.
Show:

File: node/js/node-screen.js

/**
 * Extended Node interface for managing regions and screen positioning.
 * Adds support for positioning elements and normalizes window size and scroll detection.
 * @module node
 * @submodule node-screen
 */
// these are all "safe" returns, no wrapping required
Y.each([
 /**
 * Returns the inner width of the viewport (exludes scrollbar).
 * @config winWidth
 * @for Node
 * @type {Number}
 */
 'winWidth',
 /**
 * Returns the inner height of the viewport (exludes scrollbar).
 * @config winHeight
 * @type {Number}
 */
 'winHeight',
 /**
 * Document width
 * @config docWidth
 * @type {Number}
 */
 'docWidth',
 /**
 * Document height
 * @config docHeight
 * @type {Number}
 */
 'docHeight',
 /**
 * Pixel distance the page has been scrolled horizontally
 * @config docScrollX
 * @type {Number}
 */
 'docScrollX',
 /**
 * Pixel distance the page has been scrolled vertically
 * @config docScrollY
 * @type {Number}
 */
 'docScrollY'
 ],
 function(name) {
 Y.Node.ATTRS[name] = {
 getter: function() {
 var args = Array.prototype.slice.call(arguments);
 args.unshift(Y.Node.getDOMNode(this));
 return Y.DOM[name].apply(this, args);
 }
 };
 }
);
Y.Node.ATTRS.scrollLeft = {
 getter: function() {
 var node = Y.Node.getDOMNode(this);
 return ('scrollLeft' in node) ? node.scrollLeft : Y.DOM.docScrollX(node);
 },
 setter: function(val) {
 var node = Y.Node.getDOMNode(this);
 if (node) {
 if ('scrollLeft' in node) {
 node.scrollLeft = val;
 } else if (node.document || node.nodeType === 9) {
 Y.DOM._getWin(node).scrollTo(val, Y.DOM.docScrollY(node)); // scroll window if win or doc
 }
 } else {
 Y.log('unable to set scrollLeft for ' + node, 'error', 'Node');
 }
 }
};
Y.Node.ATTRS.scrollTop = {
 getter: function() {
 var node = Y.Node.getDOMNode(this);
 return ('scrollTop' in node) ? node.scrollTop : Y.DOM.docScrollY(node);
 },
 setter: function(val) {
 var node = Y.Node.getDOMNode(this);
 if (node) {
 if ('scrollTop' in node) {
 node.scrollTop = val;
 } else if (node.document || node.nodeType === 9) {
 Y.DOM._getWin(node).scrollTo(Y.DOM.docScrollX(node), val); // scroll window if win or doc
 }
 } else {
 Y.log('unable to set scrollTop for ' + node, 'error', 'Node');
 }
 }
};
Y.Node.importMethod(Y.DOM, [
/**
 * Gets the current position of the node in page coordinates.
 * @method getXY
 * @for Node
 * @return {Array} The XY position of the node
*/
 'getXY',
/**
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
 * @method setXY
 * @param {Array} xy Contains X & Y values for new position (coordinates are page-based)
 * @chainable
 */
 'setXY',
/**
 * Gets the current position of the node in page coordinates.
 * @method getX
 * @return {Number} The X position of the node
*/
 'getX',
/**
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
 * @method setX
 * @param {Number} x X value for new position (coordinates are page-based)
 * @chainable
 */
 'setX',
/**
 * Gets the current position of the node in page coordinates.
 * @method getY
 * @return {Number} The Y position of the node
*/
 'getY',
/**
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
 * @method setY
 * @param {Number} y Y value for new position (coordinates are page-based)
 * @chainable
 */
 'setY',
/**
 * Swaps the XY position of this node with another node.
 * @method swapXY
 * @param {Node | HTMLElement} otherNode The node to swap with.
 * @chainable
 */
 'swapXY'
]);
 

AltStyle によって変換されたページ (->オリジナル) /