Easing list

2010.01.19. 08:36 stack

Először a Prototype JS keretrendszerben láttam azt a megoldást, hogy elem mozgatásánál megadhatunk egy segédfüggvényt, amelynek segítségével az egyenes vonalú mozgás helyett különböző típusú mozgásokat egyszerűen lehet megvalósítani: Lassabban induljon, majd begyorsuljon; a végén pattogjon; menjen kicsit túl aztán vissza, illetve ehhez hasonló jópofaságok…

ExtJS-ben aránylag szép számmal vannak ilyen függvények. Az alábbi linken összegyűjtöttem ezeket: http://stack.hu/extjs/easing_list.html (mindegyikre egy-egy példa, illetve egy grafikon, hogy jobban látszódjon pontosan „merre” is ment az elem)

Az elemek mozgatásáról már volt szó itt: http://extjs.blog.hu/2009/05/02/pozicionalas

Szólj hozzá!

Címkék: easing pozicionálás

COUNT DISTINCT

2010.01.08. 18:54 stack

Ha le akarjuk kérdezni, hogy hány különböző érték van egy táblá egyik oszlopában, akkor a COUNT aggregátum függvényt kombinálhatjuk a DISTINCT záradékkal:

SELECT COUNT(DISTINCT oszlop) FROM tabla

Szólj hozzá!

Címkék: count mysql

Closure Compiler

2010.01.06. 08:42 stack

A Google néhány hónapja kihozta a Closure Compiler nevű JavaScript forráskód tömörítő (és gyorsító) eszközét, ami véleményem szerint gond nélkül felveszi a versenyt a többi hasonló célra készített programmal.

Vannak benne jó ötletek:

  • if (a) { b(); } -> a && b();
  • if (a) { b(); } else { c(); } -> a?b():c();
  • var a = 60*60*5; -> var a=18E3;
  • var a; var b; -> var a,b;

Az alábbi PHP scripttel a saját kódjainkat online összetömöríthetjük:

Szólj hozzá!

Címkék: google closure compiler php

Boldog, áldott karácsonyt Mindenkinek! :)

2009.12.25. 11:08 stack

Kellemes karácsonyi ünnepeket kívánok minden kedves ismerősnek és ismeretlennek, akit jó sorsa erre az oldalra vezérelt! :)

1 komment

Címkék: off

AddCharset

2009.12.17. 07:55 stack

Valamiért a legtöbb webszerver - hiába az alapértelmezett utf-8 beállítás - a JavaScript és a CSS fájlokat nem utf-8 -as kódolással jeleníti meg a böngészőben. (talán azért, mert nem sokan használnak ékezetes kommenteket, így az utf-8-as megjelenítésre nekik nincs is nagy szükségük)

Ezen az Apache mime modulja segíthet. A megfelelő karakterkiosztáshoz az alábbi kódrészletet adjuk hozzá a .htaccess fájlhoz:

<IfModule mod_mime.c>
    AddCharset utf-8 .js
    AddCharset utf-8 .css
</IfModule>

Szólj hozzá!

Címkék: header htaccess utf8

Eclipse + JSLint

2009.12.14. 21:25 stack

A JSLint-et szerintem a legtöbb JavaScripttel rendszeresen dolgozó programozónak nem kell bemutatni: egy JavaScript szintaktikai ellenőrző, amelynek használata nagyon ajánlott.

Nálam leggyakrabban akkor kerül elő, amikor egy object-nél az utolsó property után véletlenül marad egy vessző, amivel ugye IE egyáltalán nem tud mit kezdeni:

var hello = {
    hu: "Szia világ!",
    en: "Hello world!",
    //fr: "Bonjour tout le monde!"
};

2 komment

Címkék: eclipse jslint

maskCls

2009.12.11. 23:43 stack

A mask függvény második paramétere határozza meg, hogy milyen stílusban jelenjen meg maszkolás közben a várakozó szöveg. A legtöbb ExtJS komponens az 'x-mask-loading' CSS osztályt alkalmazza, de néhány soros egyszerű CSS szabállyal könnyedén lecserélhető a várakozó animációhoz tartozó kép, illetve az elrendezés.

Szólj hozzá!

Címkék: mask css

tömb rendezés + összehasonlítások száma

2009.12.05. 10:18 stack

Az elmúlt hetekben több helyen is találkoztam ehhez hasonló mintakóddal, mivel az eredményeken jót mosolyogtam, gondoltam én is kiteszem. Nagy jelentősége persze nincsen, csupán érdekesség.

Adott egy 1000 elemű tömb, benne az elemek növekvő sorrendben. Vajon az egyes böngészők hány összehasonlítást használnak rendezés közben?

var list = [];
for (var i = 0; i < 1000; i++) {
    list.push(i);
}
var count = 0;

list.sort(function(a, b){
    ++count;
    if (a < b) {
        return -1;
    }
    if (a > b) {
        return 1;
    }
    return 0;
});

alert(count);

Az eredmények:

Szólj hozzá!

Címkék: array sort nem extjs

String.isJson()

2009.12.01. 22:58 stack

Egy string-ről legkönnyebben úgy tudjuk megállapítani, hogy JSON vagy sem, hogy megpróbáljuk átalakítani. Ha sikerült, akkor az, ellenkező esetben pedig nem, ilyen egyszerű. :)

Ext.override(String, {
    isJson: function () {
        try {
            Ext.decode(this);
            return true;
        } catch(e) {
            return false;
        }
    }
});

Szólj hozzá!

Címkék: string json override

Store.toJson()

2009.11.26. 23:20 stack

Store teljes tartalma JSON alakban:

Ext.override(Ext.data.Store, {
    toJson: function () {
        var items = [];
        this.each(function (record) {
            items.push(Ext.encode(record.data));
        });
        return '[' + items.join(',') + ']';
    }
});

Szólj hozzá!

Címkék: store json override

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 (1) alignto (1) analytics (1) anchorto (1) array (6) 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) firefox extension (2) focus (2) function (1) google (2) grid (3) header (2) height (2) hidden (1) hirek (1) history (1) htaccess (1) icon (3) id (1) 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) mysql (4) napi szívás (5) 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) propertygrid (1) readonly (2) record (1) scale (1) shuffle (1) sort (2) sortable (1) store (2) string (4) sum (1) tabchange (1) tabpanel (1) template (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)