source:
trunk/workshop-routing-foss4g/web/ext/src/ext-core/src/core/Element.scroll.js
@
76
Revision 76, 1.8 KB checked in by djay, 12 years ago (diff) | |
---|---|
|
Line | |
---|---|
1 | /*! |
2 | * Ext JS Library 3.4.0 |
3 | * Copyright(c) 2006-2011 Sencha Inc. |
4 | * licensing@sencha.com |
5 | * http://www.sencha.com/license |
6 | */ |
7 | /** |
8 | * @class Ext.Element |
9 | */ |
10 | Ext.Element.addMethods({ |
11 | /** |
12 | * Returns true if this element is scrollable. |
13 | * @return {Boolean} |
14 | */ |
15 | isScrollable : function(){ |
16 | var dom = this.dom; |
17 | return dom.scrollHeight > dom.clientHeight || dom.scrollWidth > dom.clientWidth; |
18 | }, |
19 | |
20 | /** |
21 | * 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(). |
22 | * @param {String} side Either "left" for scrollLeft values or "top" for scrollTop values. |
23 | * @param {Number} value The new scroll value. |
24 | * @return {Element} this |
25 | */ |
26 | scrollTo : function(side, value){ |
27 | this.dom["scroll" + (/top/i.test(side) ? "Top" : "Left")] = value; |
28 | return this; |
29 | }, |
30 | |
31 | /** |
32 | * Returns the current scroll position of the element. |
33 | * @return {Object} An object containing the scroll position in the format {left: (scrollLeft), top: (scrollTop)} |
34 | */ |
35 | getScroll : function(){ |
36 | var d = this.dom, |
37 | doc = document, |
38 | body = doc.body, |
39 | docElement = doc.documentElement, |
40 | l, |
41 | t, |
42 | ret; |
43 | |
44 | if(d == doc || d == body){ |
45 | if(Ext.isIE && Ext.isStrict){ |
46 | l = docElement.scrollLeft; |
47 | t = docElement.scrollTop; |
48 | }else{ |
49 | l = window.pageXOffset; |
50 | t = window.pageYOffset; |
51 | } |
52 | ret = {left: l || (body ? body.scrollLeft : 0), top: t || (body ? body.scrollTop : 0)}; |
53 | }else{ |
54 | ret = {left: d.scrollLeft, top: d.scrollTop}; |
55 | } |
56 | return ret; |
57 | } |
58 | }); |
Note: See TracBrowser
for help on using the repository browser.