pozicionálás

2009.05.02. 12:03 stack

Az ExtJs előnyeit leginkább akkor látja meg az ember, ha egy feladatot a körülmények miatt más eszközökkel kell megoldani, és tudja, hogy mindez Ext-ben csupán néhány sor lenne.
E gondolat nemrég az elemek pozicionálása okán jutottak eszembe.

Például hozzunk létre egy 300x300-as piros négyzetet és tegyük a képernyő közepére:

var el = Ext.getBody().createChild({
    style: 'width: 300px;height:300px;background-color:red;'
});
el.alignTo(Ext.getBody(), 'c-c');

A második utasításhoz némi magyarázat:
Az újonnan létrehozott elemet helyezzük el a document.body-hoz képest úgy, hogy a body közepe illeszkedjen az elem közepéhez.

Ha azt szeretnénk, hogy a böngésző átméretezése után is legyen középen, akkor az alignTo függvény helyett használjuk az anchorTo függvényt.

Vegyünk egy másik példát, hozzunk létre két 100x100-as négyzetet, és tegyük úgy a képernyő közepére őket, hogy egymás mellett helyezkedjenek el és köztük legyen 10 pixel távolság.

Ext.getBody().createChild({
    style: 'width: 100px;height:100px;background-color:green;'
}).anchorTo(Ext.getBody(), 'l-c', [5, 0]);
Ext.getBody().createChild({
    style: 'width: 100px;height:100px;background-color:blue;'
}).anchorTo(Ext.getBody(), 'r-c', [-5, 0]);

Az elem jobb oldala legyen a body közepéhez képest 5 pixellel balra. (a másiknál fordítva)

Végén meg zárjuk azzal a példasorozatot, hogy essen le az első négyzetünk egy kis pattogással:

el.alignTo(Ext.getBody(), 'b-b', null, {duration: 1, easing: 'bounceOut'});

(tehát a négyzet alja illeszkedjen a body aljához, offset nem kell, és az animációnál állítsuk be az időt és az animáció típusát)

Az átméretezés után nem minden esetben előnyös az anchorTo függvény animációja, ekkor használjuk inkább az alignTo-t, és az átméretezést kezeljük le külön a Ext.EventManager.onWindowResize segítségével.

Nem csak a nagyon nagy komponens gyűjteményéért, hanem ezekért az apróságokért is szeretjük az ExtJS-t! :)

Szólj hozzá!

Címkék: element alignto anchorto pozicionálás

A bejegyzés trackback címe:

http://extjs.blog.hu/api/trackback/id/tr361098569

Kommentek:

Nincsenek hozzászólások.

ExtJS blog, mi ez?

Az ExtJS egy JavaScript keretrendszer, melyet a blog írója elfogultan a legjobbnak tart, és ez a blog olyan apróságok gyűjteménye, melyek ExtJS használata közben felmerültek, eszébe jutottak...

Címkék

ajax (2) alignto (1) analytics (1) anchorto (1) array (7) auto (1) back button (1) beautifier (1) benchmark (1) button (1) capture (1) case sensitive (1) center (1) change (1) class (2) closure compiler (1) combobox (3) comment (1) contextmenu (2) core (1) count (1) css (8) dataview (1) date (1) datefield (1) dragdrop (1) easing (1) eclipse (1) element (1) eval (2) event (1) field (2) filter (1) firefox extension (2) focus (2) function (1) google (2) grid (3) group contact (1) header (2) height (2) hidden (1) hirek (1) history (1) htaccess (1) https (1) icon (3) id (1) ie6 (1) iframe (2) image (1) indexof (1) jslint (1) jsmin (1) json (5) keymap (1) kipróbálom (2) label (1) layout (1) magyar (1) mask (1) math (1) maxlength (1) mysql (5) napi szívás (7) nem extjs (10) node (1) off (3) override (15) pagesize (1) pagining (1) panel (2) php (3) plugin (1) pozicionálás (2) preload (1) print (1) propertygrid (1) readonly (2) record (1) replace (1) scale (1) shuffle (1) sort (2) sortable (1) store (2) string (5) sum (1) tabchange (1) tabpanel (1) template (1) textfield (1) textitem (1) timer (1) toolbar (5) tools (1) total count (1) tree (1) treenode (1) truncate (1) ucfirst (1) undefined (1) unique (1) urlencode (1) utf8 (1) viewer (1) viewport (2) window (1) zindex (1)