Hirdetés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Ejnye, mire megtaláltam ezt a részletet, már nem tudom beleeditálni az előző felírásomba. Szóval futottam a Jcrop libbel egy kört, és egy ilyenbe akadtam bele:

    $('#target').Jcrop({
    onChange: updatePreview,
    onSelect: updateCoords,
    aspectRatio: 1
    },function(){
    // Use the API to get the real image size
    var bounds = this.getBounds();
    boundx = bounds[0];
    boundy = bounds[1];
    // Store the API in the jcrop_api variable
    jcrop_api = this;
    });

    Részemről szívesebben láttam volna explicite kibontva ezt a (szerintem) mákos tésztát, de a szerzőnek más volt a véleménye. Ahogy elnézem ezt a object.Jcrop(,)-ot, kettő paramétere van, és mindkettőt blokkba zárta. A második blokkban sima érték adások vannak, de az első blokkban azok a kettőspontok, azok mik?

    "szívesebben láttam volna explicite kibontva ezt a (szerintem) mákos tésztát, de a szerzőnek más volt a véleménye."
    Hogy kellett volna "explicite kibontani"? Magyarázza el a JavaScript vagy jQuery alapjait? :D Vagy nem tudom, mire gondolsz.
    Egyébként a kóddal nincs baj, ez így elég átlátható.

    Tulajdonképpen röviden paraméterként átad egy objektumot, amiben az onChange és onSelect eseményekre mutató függvénypointereket tárolja (tehát milyen függvények hívódjanak meg az események bekövetkeztekor), második paraméterként pedig egy anonim függvényt ad át.

    Ezt más szintaktikával is meg lehetett volna írni akár, pl. így:

    var faszaObjektum = {
    onChange: updatePreview,
    onSelect: updateCoords,
    aspectRatio: 1
    };

    $('#target').Jcrop(faszaObjektum, function () {
    // Use the API to get the real image size
    var bounds = this.getBounds();
    boundx = bounds[0];
    boundy = bounds[1];
    // Store the API in the jcrop_api variable
    jcrop_api = this;
    });

    De egybevonva látszik, mivel hívod meg a Jcrop-ot az adott DOM-elemre. Ez ízlés kérdése, hogy írod meg.

Új hozzászólás Aktív témák