Ingucuko 2.x


Kusetjentiswa Lokusisekelo

Layisha emafayela eGridzy kuseva yakho bese uwafaka kuwebhusayithi yakho (kuvame kuba sesigabeni senhloko):

<link rel="stylesheet" href="gridzy/gridzy.min.css" />
<script src="gridzy/gridzy.min.js"></script>

Ngeta ikhodi ye-HTML (noma ngukuphi esigabeni semtimba):

<div class="gridzy">
  <img src="https://loremflickr.com/640/480?random=1" alt="a random image" />
  <img src="https://loremflickr.com/480/640?random=2" alt="another random image" />
  <img src="https://loremflickr.com/640/640?random=3" alt="yet another random image" />
  <img src="https://loremflickr.com/640/480?random=4" alt="a random image again" />
  <img src="https://loremflickr.com/640/480?random=5" alt="one last random image" />
</div>

Nguloko! Leso sibonelo lesisebenta ngalokuphelele. Kute kucala lokungetiwe lokudzingekako.

Kuhleleka

Indlela elula yekulungisa Gridzy kutsi, nje usebentise timfanelo HTML. Udzinga kuphela kufaka ngaphambilini kwemagama etinketho nge data-gridzy- . Ngako-ke, kusetha inketho spaceBetween , vele wengete imfanelo data-gridzy-spaceBetween .

<div class="gridzy" data-gridzy-spaceBetween="20" data-gridzy-desiredHeight="400">
  <img src="https://loremflickr.com/640/480?random=1" alt="a random image" />
  <img src="https://loremflickr.com/480/640?random=2" alt="another random image" />
  <img src="https://loremflickr.com/640/640?random=3" alt="yet another random image" />
  <img src="https://loremflickr.com/640/480?random=4" alt="a random image again" />
  <img src="https://loremflickr.com/640/480?random=5" alt="one last random image" />
</div>

Tintfo letiyinhloko

Linani lelijwayelekileIncazelo
animatetrueIncumela kutsi kufanele kusetjentiswe yini imifanekiso lenyakatako uma igridi ishintja (sibonelo, uma ushintja bukhulu belifasitelo lesiphequluli noma uma usetha luhlu).
layoutjustifiedIchaza simo lesisetjentisiwe. Gridzy.js 2 isekela emalayini lamabili lehlukene justified kanye na waterfall . Ngamunye wabo unemikhawulo yakhe lengetiwe yekukhetsa, longayitfola ngezansi kwaleli tafula.
filter*Incumela kutsi ngutiphi titfombe lokufanele tikhonjiswe. Noma nguyiphi i-CSS-selector ingasetjentiswa njengelinani lapha. Imvamisa isetha ngekuzenzakalela nge filterControls (bona inketho lelandzelako).
Hlola Tihlungi
filterControlsIncumela kutsi ngutiphi tintfo tefomu letingasetjentiswa kuhlunga titfombe. Noma ngumuphi umkhetsi we-CSS, lokhetsa tintfo tefomu le-HTML, angasetjentiswa njengelinani lapha.
Hlola Tihlungi
autoConsiderScrollBarstrueKubiketela bubanti lobutfolakalako nangabe emabha ekuphenya avela nobe anyamalala. Kuhlala kunconywa kutsi uyishiye ku true ngaphandle nangabe loku kusebenta ngekuzenzakalela kubangela tinkinga.

Justified Tintfo letingakhetfwa

Linani lelijwayelekileIncazelo
autoFontSizefalseIbuyeketa ngekuzenzakalela imphahla yesayizi yefonti yelibhokisi ngalinye ngekuya ngesayizi yelibhokisi lekucala. Ngekujwayelekile impahla yesayizi yefonti ayisethwa ngalokucacile.
desiredHeight190Ichaza kuphakama lokufiswako kwemigca ye-elementi. Kuphakama kwangempela kutawubalwa kuye ngebubanti lobutfolakalako kanye netintfo letisemgceni.
hideOnMissingImagetrueIfihla emabhokisi lacuketse titfombe letingazange tikhone kulayishwa.
spaceBetween4Ichaza libanga emkhatsini wetintfo ngemaphikseli.
lastRowAlign
kusukela inguqulo 2.3.0
justifiedIchaza kutiphatsa kwemugca wekugcina. Emanani lavumelekile left , center , right kanye na justified .
singleRowAlign
kusukela inguqulo 2.3.0
justifiedIchaza kutiphatsa uma kunemugca munye kuphela. Emanani lavumelekile left , center , right kanye na justified .
fillLastRow
kusukela kunguqulo 2.1.0
trueKUSUSIWE kusukela ngenguqulo 2.4.0 (KUKHULULIWE kusukela ngenguqulo 2.3.0 )
Uhlela titfombe kute umugca wekugcina uhlale ugcwaliswe ngalokuphelele. Uma uhlela kufaka titfombe ngemandla, kungaba ngumcondvo lomuhle kutsi ucishe loku.
Akutsatsi umphumela emigceni leyodwa (bona fillSingleRow ).
fillSingleRow
kusukela kunguqulo 2.1.0
trueKUSUSIWE kusukela ngenguqulo 2.4.0 (KUKHULULIWE kusukela ngenguqulo 2.3.0 )
Nangabe kukhona umugca munye kuphela, uhlela titfombe kute lomgca uhlale ugcwele ngalokuphelele. Uma kungenteka kutsi ube nesitfombe sinye noma letimbili kuphela kugalari, kungaba ngumcondvo lomuhle kutsi ucishe loku.

Waterfall Tinkhetho Tekuma

Linani lelijwayelekileIncazelo
autoFontSizefalseIbuyeketa ngekuzenzakalela imphahla yesayizi yefonti yelibhokisi ngalinye ngekuya ngesayizi yelibhokisi lekucala. Ngekujwayelekile impahla yesayizi yefonti ayisethwa ngalokucacile.
desiredWidth250Ichaza bubanti lobufunwako bemakholomu. Bubanti mbamba butawubalwa kuye ngebubanti lobutfolakalako kanye nenani lemakholomu.
hideOnMissingImagetrueIfihla emabhokisi lacuketse titfombe letingazange tikhone kulayishwa.
horizontalOrderfalseIchaza kutsi tintfo tibekwa ngalokucinile intfo yinye kukholomu ngayinye kusuka ngasencele kuya ngasekudla, bese icala futsi kukholomu lesesandleni sesincele kakhulu letimele lapho ikholomu indzawo lenyenti. Ngekujwayelekile tintfo titawuhlala tibekwe kukholomu ngebudze lobuncane kakhulu.
spaceBetween4Ichaza libanga emkhatsini wetintfo ngemaphikseli.
singleRowAlign
since version 2.7.0
justifiedDefines the behavior when not all columns can be filled due to too few images. Allowed values are left, center, right and justified.

Tintfo Letinyenti Letitfutfukile

Kute utfole tintfo letinyenti letisezingeni lelisetulu, hlola i -API .

I-HTML yeluchaza

Isakhiwo se-HTML lesilula kakhulu seGridzy ngulesi:

<div class="gridzy">
  <img src="https://loremflickr.com/640/480?random=1" alt="a random image" />
  <img src="https://loremflickr.com/480/640?random=2" alt="another random image" />
  <img src="https://loremflickr.com/640/640?random=3" alt="yet another random image" />
  <img src="https://loremflickr.com/640/480?random=4" alt="a random image again" />
  <img src="https://loremflickr.com/640/480?random=5" alt="one last random image" />
</div>

Noma kunjalo, Gridzy uyagucugucuka kakhulu futsi ungasebentisa cishe noma ngusiphi lesinye sakhiwo se-HTML. Kukhona emaphuzu lambalwa kuphela lokufanele uwacabangele:

  • Umntfwana ngamunye we-elementi yesitja umelela intfo yinye kugridi.
  • Kokubili element sitja kanye nebantfwana bayo kungaba noma yiluphi uhlobo tag, njenge ul kanye li (vele ucabangele reset kabusha isiphequluli defaults).
  • Uma intfo img ingasiyo umntfwana locondzile yona, idinga iklasi gridzyImage .

Ngako-ke loku kuphindze kube sakhiwo se-HTML lesisebenta:

<ul class="gridzy">
  <li>
    <span>
      <img class="gridzyImage" src="https://loremflickr.com/640/480?random=1" alt="a random image" />
    </span>
  </li>
  <li>
    <span>
      <img class="gridzyImage" src="https://loremflickr.com/480/640?random=2" alt="another random image" />
    </span>
  </li>
  <li>
    <span>
      <img class="gridzyImage" src="https://loremflickr.com/640/640?random=3" alt="yet another random image" />
    </span>
  </li>
  <li>
    <span>
      <img class="gridzyImage" src="https://loremflickr.com/640/480?random=4" alt="a random image again" />
    </span>
  </li>
  <li>
    <span>
      <img class="gridzyImage" src="https://loremflickr.com/640/480?random=5" alt="one last random image" />
    </span>
  </li>
</ul>

Ikakhulukati uma ufuna kwengeta emagama labhalwe phansi, udzinga sakhiwo se-HTML lesitfutfukile. Kufundza kabanti ngako, buka Tihloko & Tikhumba .

Tincazelo & Tikhumba

Uma ufuna kwengeta emagama labhalwe phansi kugalari yakho, kufanele uchaze kubukeka. Ngako-ke, letinye tikhumba letichazwe kusengaphambili tiyatfolakala. Sikhumba ngasinye lesinefayela le-CSS. Udzinga kwengeta lelifayela ngetulu kwemafayela lamakhulu eGridzy (kuvame kuba sesigabeni senhloko):

<link rel="stylesheet" href="gridzy/skins/gridzySkinClassic/style.min.css" />

Ngetulu kwaloko udzinga sakhiwo se-HTML lesitfutfukile:

<div class="gridzy gridzySkinClassic">
  <figure>
    <img class="gridzyImage" src="https://loremflickr.com/640/480?random=1" alt="a random image" />
    <figcaption class="gridzyCaption">a caption text</figcaption>
  </figure>
  <figure>
    <img class="gridzyImage" src="https://loremflickr.com/480/640?random=2" alt="another random image" />
    <figcaption class="gridzyCaption">another caption text</figcaption>
  </figure>
  <figure>
    <img class="gridzyImage" src="https://loremflickr.com/640/640?random=3" alt="yet another random image" />
    <figcaption class="gridzyCaption">yet another caption text</figcaption>
  </figure>
  <figure>
    <img class="gridzyImage" src="https://loremflickr.com/640/480?random=4" alt="a random image again" />
    <figcaption class="gridzyCaption">a caption text again</figcaption>
  </figure>
  <figure>
    <img class="gridzyImage" src="https://loremflickr.com/640/480?random=5" alt="one last random image" />
    <figcaption class="gridzyCaption">one last caption text</figcaption>
  </figure>
</div>

Uma uzibuta ngesakhiwo se-HTML, buka i-Semantic HTML .

Kulesihloko ungasebentisa noma ngabe nguyiphi inhlobo yethegi, vele ucinisekise kutsi inesigaba gridzyCaption . Intfo img idzinga sigaba se gridzyImage .

Lesibonelo lesingenhla sikukhombisa gridzySkinClassic . Kusebentisa lenye leyehlukile, vele ufake ligama lesikhumba ngalelinye laleti:

Tikhumba letifakiwe

Emakilasi latfolakalako
Sikhumba Singenalutho
indzawo lenhle yekucala yekwakha sikhumba sakho
kubuka bukhoma
gridzySkinBlank
gridzySkinClassic
kubuka bukhoma
gridzySkinClassic
gridzySkinClassicLight(KUKHULULIWE kusukela ngenguqulo 2.6.0)
gridzySkinFullOverlay
kubuka bukhoma
gridzySkinFullOverlay
gridzySkinFullOverlayLight(KUKHULULIWE kusukela ngenguqulo 2.6.0)
gridzySkinLift
kubuka bukhoma
gridzySkinLift
gridzySkinLiftLight(KUKHULULIWE kusukela ngenguqulo 2.6.0)
gridzySkinMagnifier
kusebenta kwekusondzeta akufakiwe
kubuka bukhoma
gridzySkinMagnifier
gridzySkinMagnifierLight(KUKHULULIWE kusukela ngenguqulo 2.6.0)

Tonkhe letikhumba letingenhla tidzinga lifayela le-CSS kuphela, kepha kunetikhumba letengetiwe letiphindze tidzinge lifayela le-JavaScript:

<link rel="stylesheet" href="gridzy/skins/gridzySkinBlur/style.min.css" />
<script src="gridzy/skins/gridzySkinBlur/script.min.js"></script>
Emakilasi latfolakalako
gridzySkinBlur
akusebenti ku IE
kubuka bukhoma
gridzySkinBlur
gridzySkinBlurLight(KUKHULULIWE kusukela ngenguqulo 2.6.0)
gridzySkinCard
kubuka bukhoma
gridzySkinCard
gridzySkinCardLight(KUKHULULIWE kusukela ngenguqulo 2.6.0)

Tintfo Letikhetsekile Tesikhumba

Kusukela version 2.6.0 kukhona Tintfo letingakhetfwa tekucubungula tikhumba letakhelwe ngaphakathi. Kuya ngesikhumba lesitsite ungasetha umbala wangemuva, umbala wembhalo kanye nesitfunti sembhalo. Kufanele nje usebentise timphahla tesiko te-CSS njengobe ubona lapha:

<div class="gridzy gridzySkinClassic" style="--background: rgba(0, 80, 117, .8); --color: rgb(238, 238, 238); ">
  <figure>
    <img class="gridzyImage" src="https://loremflickr.com/640/480?random=1" alt="a random image" />
    <figcaption class="gridzyCaption">a caption text</figcaption>
  </figure>
  <figure>
    <img class="gridzyImage" src="https://loremflickr.com/480/640?random=2" alt="another random image" />
    <figcaption class="gridzyCaption">another caption text</figcaption>
  </figure>

  ...

</div>

Hlola tintfo letigucukako letisekelwako kanye nemanani lakhonako esikhumba ngasinye lapha:

gridzySkinClassic
KugucugucukaLinani lelijwayelekileKwatiswa
--backgroundrgba(0, 0, 0, .7)ivumela noma nguliphi linani lelingemuva le-CSS
--colorrgb(255, 255, 255)ivumela noma nguliphi linani lembala we-CSS
--text-shadownoneivumela noma nguliphi linani lembhalo-wesitfunti se-CSS
gridzySkinFullOverlay
KugucugucukaLinani lelijwayelekileKwatiswa
--backgroundrgba(0, 0, 0, .7)ivumela noma nguliphi linani lelingemuva le-CSS
--colorrgb(255, 255, 255)ivumela noma nguliphi linani lembala we-CSS
--text-shadownoneivumela noma nguliphi linani lembhalo-wesitfunti se-CSS
gridzySkinLift
KugucugucukaLinani lelijwayelekileKwatiswa
--backgroundrgba(0, 0, 0, .7)ivumela noma nguliphi linani lelingemuva le-CSS
--colorrgb(255, 255, 255)ivumela noma nguliphi linani lembala we-CSS
--text-shadow0 0 10px rgb(0, 0, 0), 0 0 20px rgb(0, 0, 0), 0 0 30px rgb(0, 0, 0)ivumela noma nguliphi linani lembhalo-wesitfunti se-CSS
gridzySkinMagnifier
KugucugucukaLinani lelijwayelekileKwatiswa
--backgroundrgba(0, 0, 0, .7)ivumela noma nguliphi linani lelingemuva le-CSS
--colorrgb(255, 255, 255)ivumela noma nguliphi linani lembala we-CSS

Lesikhumba asisekeli --text-shadow

gridzySkinBlur
KugucugucukaLinani lelijwayelekileKwatiswa
--backgroundrgba(0, 0, 0, .7)ivumela noma nguliphi linani lelingemuva le-CSS
--colorrgb(255, 255, 255)ivumela noma nguliphi linani lembala we-CSS
--text-shadow0 0 10px rgb(0, 0, 0)ivumela noma nguliphi linani lembhalo-wesitfunti se-CSS
gridzySkinCard
KugucugucukaLinani lelijwayelekileKwatiswa
--backgroundrgba(0, 0, 0, 1)ivumela noma nguliphi linani lelingemuva le-CSS
--colorrgb(255, 255, 255)ivumela noma nguliphi linani lembala we-CSS
--text-shadownoneivumela noma nguliphi linani lembhalo-wesitfunti se-CSS

Tonkhe tikhumba letichazwe kusengaphambili tisekela kuphela imibhalo lelula. Ungakha tikhumba takho kakhulu futsi letiyinkimbinkimbi kakhulu. Ngicela ubuke iStayela Gridzy .

Sitayela seGridzy

Uma kungekho sikhumba lesichazwe kusengaphambili lesihambisana netidzingo takho, ungasitayela sakho.

Indlela lelula kutsi ucale ukopishe sikhumba lesikhona bese uyasivumelanisa netidzingo takho. I gridzySkinBlank yesikhumba lechazwe kusengaphambili beyivame kuniketa sisekelo lesihle kanye nemibhalo lemihle kufayela le-CSS:

/** SKIN Blank **/

/* all gallery items (direct children of the main container element) */
.gridzySkinBlank > .gridzyItem {
  overflow: hidden;
}

/* all gallery images (predefined in Gridzy's main CSS file, but can be overridden) */
.gridzySkinBlank .gridzyImage {
}

/* all gallery captions (just create your very own style) */
.gridzySkinBlank .gridzyCaption {
  margin: 0;
  padding: .5em;
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  transition: opacity .5s;
  overflow: auto;
  background: rgba(0, 0, 0, .7);
  color: rgb(255, 255, 255);
}

.gridzySkinBlank > .gridzyItem:hover .gridzyCaption {
  opacity: 1;
}

Kufayela le-CSS utotfola emakilasi latsi gridzySkinBlank , gridzyImage kanye gridzyCaption . Gridzy ngokwayo akadzingi lamakilasi. Tisetjentiselwa sitayela kuphela ngako ungatisusa noma utibite kabusha uma utsandza.

Ngetulu kwaloko utawutfola iklasi le-CSS gridzyItem . Gridzy usetha leli kilasi ngekuzenzakalelayo kubo bonkhe bantfwana labacondzile be-elementi yesitja lesiyinhloko. Ngako-ke, ungasebentisa leli kilasi kusitayela tintfo tegalari yakho.

Ingcondvo Tintfo Letibalulekile

  1. Lokucuketfwe yintfo kufanele kuphendvule ngalokugcwele. Cabanga kutsi usayizi element nakanjani kuyoshintsha. Sebentisa emanani emaphesenti esikhundleni semanani emaphikseli. Futsi buka inketho yekuma kweGridzy autoFontSize , lebopha usayizi wefonti kusayizi yebhokisi lentfo.
  2. Intfo ngayinye kufanele ibe nesilinganiso sesici lesichazwe kahle. Silinganiso sesici sentfo angeke sishintje futsi siyadzingeka kubala igridi. Ngako-ke nangabe intfo ingakazenzakale ibe nesilinganiso sesici lesichazwe kahle, yichaze kusengaphambili ngesandla (sib. nge-css).

Ngalesinye sikhatsi, kungaba lula kwenta isitayela lokucuketfwe tintfo ngaphambi kwekutsi Gridzy acale. Vele ususe i gridzy yeklasi noma ifayela le-javascript le-Gridzy kwesikhashana ngaloku.

Nguloko! Yikho konkhe lokudzingako kwakha sikhumba sakho kakhulu. Iningi letikhumba letichazwe ngaphambilini alisebentisi ngaphezu kwaloko loku.

Kepha kungaba nalokunye uma utsandza ...

Tikhumba Letitfutfukile

I-Gridzy isebentisa emakilasi e-CSS lamanyenti kune gridzyItem kuphela . Linyenti lawo litawusethwa ngekuzenzakalela futsi ungawasebentisela sitayela futsi.

Emakilasi Esitja Lesiyinhloko

Ligama LelikilasiIncazelo
gridzy
kusetha ngesandla
Gridzy utfola ngekuzenzakalelayo tintfo letineli kilasi bese uyatiqalisa.
gridzyAnimatedItawusethwa ngekuzenzakalela uma ngabe inketho ye animate true . Uma lelikilasi lisethwe ngesandla, inketho animate itawuvele itfole true futsi (ngaphandle uma isethwe ngalokucacile ku false ).

Emakilasi etintfo

Ligama LelikilasiIncazelo
gridzyItemKutawubekwa masinyane nje lapho intfo iqala inchubo yekucala. Angeke siphindze sisuswe.
gridzyItemInitializingKutawubekwa masinyane nje lapho intfo iqala inchubo yekucala. Kutawutsatfwa esikhundleni se- gridzyItemReady ngekushesha nje lapho lentfo seyiqaliswe ngalokuphelele. Kusho hhayi kutsi titfombe tilayishiwe ngalokuphelele (bona gridzyItemLoading ), kepha intfo ilungele kubonakala.
gridzyItemReadyItawutsatsa sikhundla se gridzyItemInitializing ngekushesha nje lapho lentfo seyiqaliswe ngalokuphelele. Angeke siphindze sisuswe. Kusho hhayi kutsi titfombe tilayishwe ngalokugcwele (bona gridzyItemComplete ), kepha intfo ilungele kutfola kubonakala.
gridzyItemLoadingKutawubekwa masinyane nje lapho intfo iqala inchubo yekucala. Kutawutsatfwa esikhundleni se- gridzyItemComplete ngekushesha nje lapho titfombe leticuketfwe (imvamisa yinye kuphela) tilayishwa ngalokugcwele.
gridzyItemCompleteItawutsatsa sikhundla se gridzyItemLoading ngekushesha nje lapho titfombe leticuketfwe (imvamisa yinye kuphela) tilayishwa ngalokuphelele. Angeke siphindze sisuswe.
gridzyItemInitialToVisibleItawubekwa masinyane nje lapho intfo icala kuvela kwekucala. Kutawususwa ngekushesha nje lapho intfo ibonakala ngalokuphelele.
gridzyItemVisibleKutawubekwa masinyane nje lapho intfo ibonakala ngalokuphelele. Kutawususwa ngekushesha nje lapho lentfo icala kunyamalala.
gridzyItemVisibleToHiddenKutawubekwa ngekushesha nje lapho intfo icala kunyamalala. Kutawususwa ngekushesha nje lapho lentfo ifihlekile ngalokuphelele.
gridzyItemHiddenKutawubekwa masinyane nje lapho intfo ifihlekile ngokuphelele. Kutawususwa ngekushesha nje lapho lentfo icala kuvela.
gridzyItemHiddenToVisibleItawubekwa ngekushesha nje lapho intfo icala kuvela (ngaphandle kwekuvela kwekucala – bona likilasi gridzyItemInitialToVisible ). Kutawususwa ngekushesha nje lapho intfo ibonakala ngalokuphelele.
gridzyItemVisibleToVisibleItawubekwa masinyane nje lapho intfo letsite kugridi yashintja, kepha intfo ngokwayo beyikhona futsi ihlale ibonakala. Kutawususwa ngekushesha nje lapho i-animation yekushintja iphelile.

Ngekujwayelekile inkomba yenchubo kanye netithombe letinyakatako tetitfombe letivelako naletinyamalalako tichazwe kusengaphambili yifayela le-Gridzy main CSS.

Ngalamakilasi e-CSS lashiwo ngenhla ungasitayela inkomba yakho yenchubo kanye ne-animations. Dare a ubuke ku Gridzy main CSS ifayela, kucondza kutsi yini bekutawudzingeka kutsi uyicitse. Akukho kwesaba, konkhe kubhalwe kahle lapho.

Ncusa kulayisha

Uma usebentisa titfombe letinyenti, kungaba ngumcondvo lomuhle kusita Gridzy kwakha igridi ngekushesha.

Vikela Kugcuma Titfombe

Gridzy udzinga ngalokuphelele silinganiso sesici sato tonkhe titfombe kubala igridi. Lamaciniso aphumela ekugcumeni kwetintfo uma letinye titfombe tikulungele kantsi letinye atikulungele. Lapho kunetitfombe letinyenti, kungaba ngulomphumela locasulako kakhulu.

Kuvimbela loku kutiphatsa, vele usethe width kanye netimfanelo height kuto tonkhe tintfo img . Kubalulekile kusetha emanani lafanele esitfombeni ngasinye, ngaphandle kwaloko titfombe titawuhlaneketela. Emanani lafanele bubanti nebudze besitfombe lesilandzelanako:

<div class="gridzy">
  <img src="https://loremflickr.com/640/480?random=1" width="640" height="480" alt="a random image" />
  <img src="https://loremflickr.com/480/640?random=2" width="480" height="640" alt="another random image" />
  <img src="https://loremflickr.com/640/640?random=3" width="640" height="640" alt="yet another random image" />
  <img src="https://loremflickr.com/640/480?random=4" width="640" height="480" alt="a random image again" />
  <img src="https://loremflickr.com/640/480?random=5" width="640" height="480" alt="one last random image" />
</div>

Ngemuva kwaloko Gridzy angabala igridi ngekushesha ngaphandle kwesidzingo sekwati emasayizi mbamba etitfombe.

Kulayisha lokuvilaphako

Kulayisha titfombe kuphela letisendzaweni yekubuka lebonakalako, vele ulandele letinyatselo:

  1. Faka timphawu height width njengobe kuchaziwe ngenhla (ciniseka kutsi usebentisa emanani lafanele)
  2. Faka esikhundleni sato tonkhe timfanelo src nge data-gridzylazysrc njengobe kukhonjisiwe ngetansi (uma unetimfanelo srcset futsi, tifake esikhundleni se- data-gridzylazysrcset ).
<div class="gridzy">
  <img data-gridzylazysrc="https://loremflickr.com/640/480?random=1" width="640" height="480" alt="a random image" />
  <img data-gridzylazysrc="https://loremflickr.com/480/640?random=2" width="480" height="640" alt="another random image" />
  <img data-gridzylazysrc="https://loremflickr.com/640/640?random=3" width="640" height="640" alt="yet another random image" />
  <img data-gridzylazysrc="https://loremflickr.com/640/480?random=4" width="640" height="480" alt="a random image again" />
  <img data-gridzylazysrc="https://loremflickr.com/640/480?random=5" width="640" height="480" alt="one last random image" />
</div>

Ngemuva kwaletinyatselo titfombe titawulayisha ngekushesha nje nasetisedvute noma ngekhatsi kwe-viewport.

Inkomba yenchubo

Inkomba yenchubo yi-icon lencane le-animated levela ngesikhatsi sitfombe silayisha. Uma usebentisa emagama labhalwe phansi & tikhumba , inkomba yenchubo itawukhonjiswa ngekuzenzakalela. Ngaphandle kwaloko udzinga tingucuko letitsite:

  1. Faka intfo ngayinye img ibe yintfo ye div
    (noma kunobe nguyiphi lenye intfo – bona i-HTML ye-semantic kute utfole kabanti)
  2. Faka i gridzyImage yekilasi ku-elementi ngayinye img
<div class="gridzy">
  <div><img src="https://loremflickr.com/640/480?random=1" class="gridzyImage" alt="a random image" /></div>
  <div><img src="https://loremflickr.com/480/640?random=2" class="gridzyImage" alt="another random image" /></div>
  <div><img src="https://loremflickr.com/640/640?random=3" class="gridzyImage" alt="yet another random image" /></div>
  <div><img src="https://loremflickr.com/640/480?random=4" class="gridzyImage" alt="a random image again" /></div>
  <div><img src="https://loremflickr.com/640/480?random=5" class="gridzyImage" alt="one last random image" /></div>
</div>

Ngemuva kwaloko kufanele ubone tinkhomba tenchubo uma titfombe titsatsa sikhatsi sekulayisha.

Tihlungi

Tihlungi ku Gridzy tilula kakhulu kepha tinemandla. Akunandaba kutsi nguluphi luhlobe lwesihlungi loludzingako, kungenteka kakhulu kutsi luyabonakala. Konkhe lokudzingako, i-CSS lencane kanye netintfo letimbalwa tefomu le-HTML ...

Nasi sibonelo lesisebentako:

<div id="myFilterControls">
  <button value="*">All</button>
  <button value=".animals">Animals</button>
  <button value=".architecture">Architecture</button>
  <button value=".people">People</button>
</div>

<div class="gridzy" data-gridzy-filterControls="#myFilterControls button">
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=1" alt="a random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=1" alt="a random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=1" alt="a random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=2" alt="another random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=2" alt="another random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=2" alt="another random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=3" alt="yet another random animal image" />
</div>

Asikwakheni Sinyatselo ngeSinyatselo

1. Kwekucala sidzinga sakhiwo se-HTML lesivamile se-Gridzy bese sibeka emagama emakilasi kuto tonkhe tintfo tegalari kute sikhone kutihlunga ngemuva kwaloko .

<div class="gridzy">
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=1" alt="a random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=1" alt="a random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=1" alt="a random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=2" alt="another random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=2" alt="another random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=2" alt="another random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=3" alt="yet another random animal image" />
</div>

Kulesi sibonelo sisebentisa kuphela liklasi linye element ngayinye. Kepha ungaphindze usethe emakilasi lamanyenti e-elementi yinye, uma ngabe leyo element kufanele itfolakale ngetihlungi letinyenti.

2. Bese sengeta letinye tinkinobho lapho singashintja khona tihlungi ke .

<button value="*">All</button>
<button value=".animals">Animals</button>
<button value=".architecture">Architecture</button>
<button value=".people">People</button>

<div class="gridzy">
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=1" alt="a random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=1" alt="a random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=1" alt="a random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=2" alt="another random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=2" alt="another random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=2" alt="another random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=3" alt="yet another random animal image" />
</div>

Esikhundleni setinkinobho, ungaphindze usebentise letinye tintfo tefomu letifana nemabhokisi ekuhlola, tinkinobho temsakato, emasimu lakhetsiwe njalonjalo.

Njengobe ubona, emanani etinkinobho avamile CSS selectors. Ngekushesha nje nasicedzile, kuchofota inkinobho lenjalo kutawukhombisa titfombe letihambisana naleyo CSS selector. Ngekwebuchwepheshe kumane kubeka inketho filter kuleli nani.

Ungaphindze usebentise tikhetsi letiyinkimbinkimbi kakhulu. Sibonelo :not(.animals) bekungasebenta futsi, kanye .animals.people kanye .animals, .people .

3. Ekugcineni, sifaka tinkinobho esitjeni div bese siyatibopha kugalari ye-Gridzy, ngekubeka inketho filterControls :

<div id="myFilterControls">
  <button value="*">All</button>
  <button value=".animals">Animals</button>
  <button value=".architecture">Architecture</button>
  <button value=".people">People</button>
</div>

<div class="gridzy" data-gridzy-filterControls="#myFilterControls button">
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=1" alt="a random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=1" alt="a random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=1" alt="a random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=2" alt="another random animal image" />
  <img class="architecture" src="https://loremflickr.com/640/480/arch?random=2" alt="another random architecture image" />
  <img class="people" src="https://loremflickr.com/640/480/people?random=2" alt="another random people image" />
  <img class="animals" src="https://loremflickr.com/640/480/animals?random=3" alt="yet another random animal image" />
</div>

Njengobe ubona, siphindze sisebentise umkhetsi we-CSS wenketho ye filterControls . Lesitja div lesinemfanelo id sisebenta kuphela kwenta tinkinobho tibe lula kutikhetsa ngaleso sikhetsi se-CSS.

Nguloko!

Uma unconota sisombululo se-JavaScript, hlola i -API .

I-API

Noma iGridzy ine-API yayo, tintfo letinyenti tingenziwa ngaphandle kwayo, ngekutsi nje uphatse kabi i-DOM. Gridzy utawubona bese ulungisa igridi. Kepha kukhona ne-API lenemandla kakhulu ...

Kuphatsa kabi i-DOM

Kuwo onkhe ema-Document Object Model (DOM) ekuphatfwe kabi sicala ngekudzinga intfo yesitja:

// get the container element
var gridzyElement = document.querySelector('.gridzy');

Ngeta titfombe

Kubalulekile kwakha ngalokugcwele futsi ugcwalise intfo lensha yemntfwana ngaphambi kwekutsi uyifake ku-elementi yesitja. Ngaphandle kwaloko Gridzy akakhoni kutfola tilinganiso letifanele.

// create a new img element
var newImage = document.createElement('img');

// add src attribute (!! before you add it to the container element !!)
newImage.src = 'https://loremflickr.com/640/480';

// add it as last element to the container element
gridzyElement.appendChild(newImage);

// or as first element (or anywhere in between)
gridzyElement.insertBefore(newImage, gridzyElement.firstChild);

Susa titfombe

// remove the first image
gridzyElement.removeChild(gridzyElement.firstElementChild);

Shintja lokukhetsako

// change the spaceBetween option to a specific value
gridzyElement.setAttribute('data-gridzy-spaceBetween', '10');

// change the layout option to a specific value
gridzyElement.setAttribute('data-gridzy-layout', 'waterfall');

// reset the spaceBetween option to its default value
gridzyElement.removeAttribute('data-gridzy-spaceBetween');

Kabanti mayelana nekusebentisa i-DOM ungakutfola ku -MDN web docs . Kukhona neSingeniso se-DOM lesikhona.

I-API yebunikati

Kusebentisa i-API, sicale sidzinga sibonelo se-Gridzy, lesiboshelwe ku-elementi yesitja se-Gridzy:

// get the Gridzy instance
var gridzyInstance = document.querySelector('.gridzy').gridzy;

Tfola Inketho

// get the value of a single option
var currentLayout = gridzyInstance.getOption('layout');

Tfola tonkhe tintfo letingakhetfwa

// get all option values as an object
var currentOptions = gridzyInstance.getOptions();

Setha tintfo letingakhetfwa

// set specific option values
gridzyInstance.setOptions({
  spaceBetween: 10,
  layout: 'waterfall'
});

// or reset options to their default values
gridzyInstance.setOptions({
  spaceBetween: null,
  layout: null
});

Faka Sihlungi

Kusebentisa luhlu kumane nje kubeka filter lwekukhetsa lolungaba ngunobe ngumuphi umkhetsi we-CSS losebentako:

// set the filter to match items with class "animals"
gridzyInstance.setOptions({
  filter: '.animals'
});

// reset the filter to match all items again
gridzyInstance.setOptions({
  filter: '*'
});

// set the filter to match items without class "animals"
gridzyInstance.setOptions({
  filter: ':not(.animals)'
});

// set the filter to match items with class "animals" or "people"
gridzyInstance.setOptions({
  filter: '.animals, .people'
});

// set the filter to match items that have both classes, "animals" and "people"
gridzyInstance.setOptions({
  filter: '.animals.people'
});

Ngeta Imisebenti Yekubita

KUKHONA kusukela ngenguqulo 2.4.0
Sebentisa Imicimbi yesimanje nalegucugucukako esikhundleni saloko. Bona sigaba lesilandzelako kute utfole imininingwane.

Gridzy.js 2 isekela letinye tintfo letingakhetfwa temisebenti yekushayela emuva. Tingasethwa kuphela nge-API yemphahla, kepha njengaletinye tintfo letingakhetfwa:

// same as set other options
gridzyInstance.setOptions({
  onOptionsChanged: function() {
    // will be executed each time the options have changed.
  },
  onBeforeOptionsChanged: function() {
    // will be executed, before new options take effect.
  }
});
Incazelo
onBeforeOptionsChangedCallback umsebenti kutsi kubizwa ngqo ngaphambi kwekubeka ongakhetha.
onOptionsChangedCallback umsebenti kutsi kubizwa ngqo ngemuva kwekubeka ongakhetha.
onBeforeRenderUmsebenti wekubita emuva lobitwa ngco ngaphambi kwekuhumusha.
onRenderCallback umsebenti kutsi kubizwa ngqo ngemuva ukuhumusha.

Sebentisa imicimbi

kusukela inguqulo 2.4.0

Ungasebentisa imicimbi yeGridzy njengemicimbi levamile yeJavaScript:

document.addEventListener('gridzyOptionsChanged', function(event) {
    // will be executed each time the options have changed.
});

document.addEventListener('gridzyBeforeOptionsChanged', function(event) {
    // will be executed, before new options take effect.
});

Letinye tigameko tidutshulwa ku-elementi yesitja se-Gridzy kantsi letinye tigameko tidutshulwa ku-elementi yentfo ngayinye ngaphakatsi kwe-elementi yesitja.

Imicimbi ledutshulwe ku-elementi yesitja se-Gridzy:

Incazelo
gridzyBeforeInitImililo ngaphambi kwekucala kwegalari.
gridzyInitImililo ngemuva kwekucala kwegalari.
gridzyBeforeOptionsChangedImililo ngaphambi kwekubeka tintfo letikhetsiwe.
gridzyOptionsChangedImililo ngemuva kwekubeka tintfo letikhetsiwe.
gridzyBeforeRenderImililo ngaphambi kwekuhumusha.
gridzyRenderImililo ngemuva kwekuhumusha.
Uma ngabe uphutselwe yimicimbi lapha, sicela utfumele sicelo sekusekelwa .

event.target inikeza intfo yesitja seGridzy.
event.detail.instance iniketa sibonelo seGridzy.

Imicimbi ledutshulwe etintfweni:

Incazelo
gridzyItemBeforeInitImililo ngaphambi kwekucala kwentfo.
gridzyItemInitImililo ngemuva kwekucala kwentfo.
gridzyItemLoadingIvutsa uma intfo icala kulayisha.
gridzyItemReadyImililo lapho intfo seyilungele kubalwa kwegridi. Ngako-ke silinganiso sesici siyatiwa, kepha sitfombe kungenteka kutsi sisalayisha.
gridzyItemCompleteIvutsa uma sitfombe sentfo silayishwe ngalokuphelele.
Uma ngabe uphutselwe yimicimbi lapha, sicela utfumele sicelo sekusekelwa .

event.target inikeza intfo lehambisanako.
event.detail.instance iniketa sibonelo seGridzy.

I-API – Yemhlaba wonkhe

Kukhona leminye imisebenti letimele Gridzy tikhatsi. Ngako-ke asidzingi kutfola sibonelo ngaphambili.

Tfola Inketho Levamile

// get the default value of a single option
var defaultLayout = Gridzy.getDefaultOption('layout');

Tfola Tonkhe Tintfo Letikhetsiwe

// get all default option values as an object, including the default layout options of the default layout
var defaultOptions = Gridzy.getDefaultOptions();

// or get all default option values, including the default layout options of a specific layout
var defaultOptions = Gridzy.getDefaultOptions('waterfall');

Setha Tintfo Letikhetsiwe

Loku akubeki tintfo letikhetsiwe tato tonkhe tigameko teGridzy letivele ticaliswe, kepha kuchaza sisekelo setigameko letinsha. Kepha, uma inketho yesibonelo lesikhona beyitawusethwa kabusha ngekusebentisa inani null , beyitawusebentisa linani lelisha lelijwayelekile.

// set default option values
Gridzy.setDefaultOptions({
  spaceBetween: 10,
  layout: 'waterfall'
});

Ungasebentisa loku kusetha tintfo letikhetsiwe emhlabeni wonkhe, uma uyibita ngaphambi kwekutsi i-DOM ilungele. Ngako-ke bekungeke kusadzingeka kutsi usethe tintfo letikhetsiwe njengetimfanelo.

Tintfo letentekelako

Uma nje tonkhe tintfo letizenzakalelayo te-Gridzy.js 2 tisebenta, kute sidzingo setindlela letingezansi. Kepha ema-automatisms angacinywa kusebentisa iGridzy ngendlela yendabuko kakhulu:

// disable automatic initializations
Gridzy.setDefaultOptions({
  autoInitOnDomReady: false,
  autoInitOnDomMutation: false
});

// or switch off all mutation observers
Gridzy.setDefaultOptions({
  autoInitOnDomMutation: false,
  autoSyncChildListMutation: false,
  autoSyncAttributesMutation: false,
  autoSyncChildClassMutation: false,
  autoSyncImageMutation: false
});

Letinye taletintfo letikhetsiwe atikhoni kusethwa nge data-gridzy- timfanelo noma nge setOptions() , ngenca yetizatfu letinengcondvo:

Linani lelijwayelekileIncazelo
autoInitOnDomReadytrueUtfola tintfo letine gridzy yeklasi ekulayisheni likhasi bese uyatiqalisa.

Kusethwa nge Gridzy.setDefaultOptions()
autoInitOnDomMutation
Umbuki Wekugucuka
trueItfola tintfo letinsha letine-class gridzy ngekushesha nje lapho tivela ku-DOM bese tiyacala. (sib. ngekusebentisa tingucuko temakhasi)

Kusethwa nge Gridzy.setDefaultOptions()
autoSyncChildListMutation
Umbuki Wekugucuka
trueItfola kutsi tintfo tebantfwana (titfombe) tingetiwe noma tisuswe, bese ivuselela igridi ngekuzenzakalela.

Kusethwa ngekusebentisa data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
useOptionAttributestrueIchaza kutsi ngabe timphawu data-gridzy- tisetjentiswa ngalokujwayelekile noma cha. Uma loku tintfo false tingasethwa kuphela nge-API yemphahla.

Kusetha nge new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoSyncAttributesMutation
Umbuki Wekugucuka
trueUtfola tingucuko tetimfanelo data-gridzy- , bese uvuselela igridi ngekuzenzakalela. Futsi utfola kutsi ngabe likilasi le gridzyAnimated lingetiwe noma lisuswe futsi ngabe tingucuko temfanelo style tenteka. Uma useOptionAttributes false , itfola kuphela tingucuko temfanelo style .

Kusethwa ngekusebentisa data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoSyncChildClassMutation
Umbuki Wekugucuka
trueUtfola tingucuko tetimfanelo class tato tonkhe tintfo tebantfwana (titfombe). Kufanelekile mayelana netihlungi.

Kusethwa ngekusebentisa data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoSyncImageMutation
Umbuki Wekugucuka

kusukela inguqulo 2.5.0
trueUtfola tingucuko tetimfanelo src tato tonkhe titfombe. Kufanelekile uma kusetjentiswa ne-React noma imitapolwati lefanako.

Kusethwa ngekusebentisa data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoRenderOnResize
Gucula usayizi wesibukeli

kusukela kunguqulo 2.6.0
trueItfola tingucuko tebubanti be-elementi. Kufanelekile mayelana nekuklanywa lokuphendvulako. (Ngaphambi kwenguqulo 2.6.0 kwasetjentiswa umlaleli wemcimbi wekushintja lifasitelo)

Kusethwa ngekusebentisa data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()

Cala ngesandla

// initialize a new Gridzy instance
var gridzyInstance = new Gridzy(document.querySelector('.gridzy'), {
  spaceBetween: 10,
  layout: 'waterfall'
});

Bhidlita Sibonelo

Cishe watsi, lokuphambene nekucala Gridzy.

gridzyInstance.destroy();
gridzyInstance = null;

Vumelanisa Luhla Lwebantfwana Ngesandla

// after child elements (images) are added to or removed from the DOM.
gridzyInstance.syncChildList();

Vumelanisa Sici Semntfwana Lomunye Ngesandla

Imvamisa akudzingeki, ngaphandle kwetikhatsi letingakavami kakhulu.

// after child elements (images) are added to the DOM and only one of them should be synced to Gridzy.
gridzyInstance.syncChild(childElement);

Vumelanisa Timphawu Ngesandla

Caphela kutsi useOptionAttributes inketho kumele ibe true kulokhu.

// after data-gridzy- attributes have changed
gridzyInstance.syncAttributes();

Kuhumusha Ngemandla

Imvamisa akudzingeki, noma ngabe onkhe ema-automatics acinywe

gridzyInstance.render();