Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / Element.scroll.html
1 <html>\r
2 <head>\r
3   <title>The source code</title>\r
4     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
5     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
6 </head>\r
7 <body  onload="prettyPrint();">\r
8     <pre class="prettyprint lang-js"><div id="cls-Ext.Element"></div>/**\r
9  * @class Ext.Element\r
10  */\r
11 Ext.Element.addMethods({\r
12     <div id="method-Ext.Element-isScrollable"></div>/**\r
13      * Returns true if this element is scrollable.\r
14      * @return {Boolean}\r
15      */\r
16     isScrollable : function(){\r
17         var dom = this.dom;\r
18         return dom.scrollHeight > dom.clientHeight || dom.scrollWidth > dom.clientWidth;\r
19     },\r
20 \r
21     <div id="method-Ext.Element-scrollTo"></div>/**\r
22      * Scrolls this element the specified scroll point. It does NOT do bounds checking so if you scroll to a weird value it will try to do it. For auto bounds checking, use scroll().\r
23      * @param {String} side Either "left" for scrollLeft values or "top" for scrollTop values.\r
24      * @param {Number} value The new scroll value.\r
25      * @return {Element} this\r
26      */\r
27     scrollTo : function(side, value){\r
28         this.dom["scroll" + (/top/i.test(side) ? "Top" : "Left")] = value;\r
29         return this;\r
30     },\r
31 \r
32     <div id="method-Ext.Element-getScroll"></div>/**\r
33      * Returns the current scroll position of the element.\r
34      * @return {Object} An object containing the scroll position in the format {left: (scrollLeft), top: (scrollTop)}\r
35      */\r
36     getScroll : function(){\r
37         var d = this.dom, \r
38             doc = document,\r
39             body = doc.body,\r
40             docElement = doc.documentElement,\r
41             l,\r
42             t,\r
43             ret;\r
44 \r
45         if(d == doc || d == body){\r
46             if(Ext.isIE && Ext.isStrict){\r
47                 l = docElement.scrollLeft; \r
48                 t = docElement.scrollTop;\r
49             }else{\r
50                 l = window.pageXOffset;\r
51                 t = window.pageYOffset;\r
52             }\r
53             ret = {left: l || (body ? body.scrollLeft : 0), top: t || (body ? body.scrollTop : 0)};\r
54         }else{\r
55             ret = {left: d.scrollLeft, top: d.scrollTop};\r
56         }\r
57         return ret;\r
58     }\r
59 });</pre>    \r
60 </body>\r
61 </html>