13.března 2009

Sladké Chainability

Pridal: Mahbúba In: Metódy

Jeden z najlepších vecí o jQuery je jeho schopnosť reťaz pre takmer všetky je to metód. Ak "reťaz schopnosť" znie hebrejsky, tu je to trochu vysvetliť, čo to je.

chain

Povedzme, že máte <div id="myDiv"> Lorem ipsum </ div>

A čo musíte urobiť nasledujúce

  1. Zmeniť výšku 150px
  2. Zmena krytie až 0,8
  3. Pridať triedu s názvom "pClass"
  4. A nastaviť text vnútri div ako "My sme svet"

Takže, čo by ste urobil za normálnych okolností? Píšete štyri riadky kódu. Rovnako ako pri použití jQuery v konvenčným spôsobom by ste asi napísať

  1
 2
 3
 4
  ) . css ( "height" , "150px" ) ; $ ("# MyDiv") css ("height", "150px").;
 ) . fadeTo ( 500 , 0.8 ) ; $ ("# MyDiv") fadeTo (500, 0,8).; 
 ) . addClass ( "pClass" ) ; . $ ("# MyDiv") addClass ("pClass"); 
 ) . text ( "We are the world" ) ; $ ("# MyDiv") text ("My sme svet").; 

Ale ak budeme používať metódu chaininig by sme jednoducho napísať

 ) . css ( "height" , "150px" ) . fadeTo ( 500 , 0.8 ) . addClass ( "pClass" ) . text ( "We are the world" ) ; .. $ ("# MyDiv") css ("height", "150px") fadeTo (500, 0,8) addClass ("pClass") text ("My sme svet") ..; 

Vyzerá to špinavá? To si nemyslím. Je to čitateľné, keď si dal celkom dosť metód objektu, ktorý je veľmi nepravdepodobné. Takže to je reťazenie.

Za obrazovkách, je reťazenie jednoducho vykonať vrátenie objektu itselft po použití tejto metódy. Je to celkom páči, ako sa budú používať metódy objektu v JavaScriptu ako

  "Lorem Ipsum Dolor" ; var myString = "Lorem ipsum dolor"; 
  ( ) . substring ( 0 , 5 ) ; .. PString = myString toLowerCase () substring (0, 5); 

A to je dar, keď máme možnosti, ako robiť takéto veci. Kto chce napísať viac kódu, keď tam sú spôsoby, ako to krátke? Aspoň ja nie. Takže takmer všetky metódy

v jQuery má tento chainability. Všetky metódy, ktoré reťazec, vráti celý jQuery objekt samotný, takže ďalšie metódy môžu byť použité k tomu.

Môžete vidieť vyššie uvedený kód beží tu .

No Responses to "sladké" Chainability

Komentovať formulár


Prekladateľ

English flagItalian flagKorean flagChinese (Simplified) flagChinese (Traditional) flagPortuguese flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroatian flagDanish flagFinnish flagHindi flagPolish flagRomanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flagAlbanian flagEstonian flagGalician flagMaltese flagThai flagTurkish flagHungarian flag

Tagy