Iwebhusayithi itjhugululwe ngokuzenzakalelako. Nangabe kukhona okungacaciko, sibawa uqale amadokhumende wesiNgisi.
Ukusetjenziswa okusisekelo
Layisha amafayela we-Gridzy kuseva yakho bese uwafaka kuwebhusayithi yakho (ngokuvamileko esigabeni sehloko):
<link rel="stylesheet" href="gridzy/gridzy.min.css" />
<script src="gridzy/gridzy.min.js"></script>Faka ikhodi ye-HTML (nanyana kukuphi esigabeni somzimba):
<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>Yilokho! Lokho sibonelo esisebenzako. Akutlhogeki ukuthoma okungezelelweko.
Ukuhlelwa
Indlela elula yokuhlela i-Gridzy, kusebenzisa iimpawu ze-HTML. Utlhoga ukufaka isiqalo samabizo wokukhetha nge data-gridzy- . Njeke, ukusetha inketho spaceBetween , vele ufake 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>Iinkhetho ezikulu
Justified Iinkhetho zokuhleleka
Waterfall Iinkhetho zokuhleleka
Iinkhetho ezinengi ezithuthukisiweko
Ukuthola ezinye iindlela ezithuthukileko, qala i -API .
I-HTML ye-Semantic
Isakhiwo se-HTML esilula se-Gridzy ngilesi:
<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>Kodwana, i-Gridzy iyatjhuguluka begodu ungasebenzisa nanyana ngisiphi isakhiwo se-HTML. Kunamaphuzu ambalwa ekufuze uwacabangele:
- Umntwana ngamunye we-elementi yesitja ujamele into yinye kugridi.
- Kokubili into yesitja nabantwana bayo kungaba ngiliphi ihlobo lethegi, njenge
ulneli(cabangela ukusetha kabutjha ukuzenzakalelako kwesiphequluli). - Nangabe into
imgingasi umntwana oqondileko, idinga iklasi yegridzyImage.
Njeke lokhu kubuye kube yisakhiwo se-HTML esisebenzako:
<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>Khulukhulu nangabe ufuna ukungezelela amagama, udinga isakhiwo se-HTML esithuthukileko. Ukufunda kabanzi ngakho, qala ama-Captions & Skins .
Amagama abhalwe phasi neenkhumba
Nawufuna ukufaka amagama abhalwe phasi egalari yakho, kufuze uhlathulule ukubukeka. Ngalokho-ke, ezinye iinkhumba ezihlathululwe ngaphambilini ziyatholakala. Isikhumba ngasinye esinefayela le-CSS. Utlhoga ukufaka ifayela le ngaphezu kwamafayela we-Gridzy (ngokuvamileko esigabeni sehloko):
<link rel="stylesheet" href="gridzy/skins/gridzySkinClassic/style.min.css" />Ukudlula lapho udinga isakhiwo se-HTML esithuthukileko:
<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>Nawuzibuza ngesakhiwo se-HTML, qala i-HTML ye-Semantic .
Ngesihloko ungasebenzisa nanyana ngiliphi ihlobo lethegi, qiniseka bona lineklasi ye gridzyCaption . Isici img sidinga iklasi ye gridzyImage .
Isibonelo esingenhla sikutjengisa isikhumba gridzySkinClassic . Ukusebenzisa ehlukileko, tjhugulula ibizo lesikhumba ngelinye lalawa:
Iinkhumba ezifakiweko
| Amaklasi atholakalako | |
|---|---|
| gridzySkinBlank indawo ehle yokuthoma yokwenza isikhumba sakho ukubuka ngaphambilini bukhoma | gridzySkinBlank |
| gridzySkinClassic ukubuka ngaphambilini bukhoma | gridzySkinClassic(IHLAHLIWE kusukela kuhlobo 2.6.0) |
| gridzySkinFullOverlay ukubuka ngaphambilini bukhoma | gridzySkinFullOverlay(IHLAHLIWE kusukela kuhlobo 2.6.0) |
| gridzySkinLift ukubuka ngaphambilini bukhoma | gridzySkinLift(IHLAHLIWE kusukela kuhlobo 2.6.0) |
| gridzySkinMagnifier ukusebenza kokusondeza akufakiwe ukubuka ngaphambilini bukhoma | gridzySkinMagnifier(IHLAHLIWE kusukela kuhlobo 2.6.0) |
Zoke iinkhumba ezingenhla zitlhoga ifayela le-CSS kwaphela, kodwana kunezinye iinkhumba ezitlhoga ifayela le-JavaScript:
<link rel="stylesheet" href="gridzy/skins/gridzySkinBlur/style.min.css" />
<script src="gridzy/skins/gridzySkinBlur/script.min.js"></script>| Amaklasi atholakalako | |
|---|---|
| gridzySkinBlur ayisebenzi ku-IE ukubuka ngaphambilini bukhoma | gridzySkinBlur(IHLAHLIWE kusukela kuhlobo 2.6.0) |
| gridzySkinCard ukubuka ngaphambilini bukhoma | gridzySkinCard(IHLAHLIWE kusukela kuhlobo 2.6.0) |
Iinkhetho zesikhumba
Kusukela kuhlobo 2.6.0 kuneenkhetho zokuhlela iinkhumba ezakhelwe ngaphakathi. Ngokuya ngesikhumba esithileko ungasetha umbala wangemuva, umbala womtlolo nesithunzi somtlolo. Kufanele usebenzise izakhiwo ze-CSS njengombana 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 amatjhuguluko asekelweko kanye namanani akhethiweko wesikhumba ngasinye lapha:
gridzySkinClassic
| Okuguquguqukako | Inani elijwayelekileko | Ilwazi |
|---|---|---|
--background | rgba(0, 0, 0, .7) | ivumela nanyana ngiyiphi inani langemuva le-CSS |
--color | rgb(255, 255, 255) | ivumela nanyana ngiyiphi inani lombala we-CSS |
--text-shadow | none | ivumela nanyana ngiliphi inani lomthunzi we-CSS |
gridzySkinFullOverlay
| Okuguquguqukako | Inani elijwayelekileko | Ilwazi |
|---|---|---|
--background | rgba(0, 0, 0, .7) | ivumela nanyana ngiyiphi inani langemuva le-CSS |
--color | rgb(255, 255, 255) | ivumela nanyana ngiyiphi inani lombala we-CSS |
--text-shadow | none | ivumela nanyana ngiliphi inani lomthunzi we-CSS |
gridzySkinLift
| Okuguquguqukako | Inani elijwayelekileko | Ilwazi |
|---|---|---|
--background | rgba(0, 0, 0, .7) | ivumela nanyana ngiyiphi inani langemuva le-CSS |
--color | rgb(255, 255, 255) | ivumela nanyana ngiyiphi inani lombala we-CSS |
--text-shadow | 0 0 10px rgb(0, 0, 0), 0 0 20px rgb(0, 0, 0), 0 0 30px rgb(0, 0, 0) | ivumela nanyana ngiliphi inani lomthunzi we-CSS |
gridzySkinMagnifier
| Okuguquguqukako | Inani elijwayelekileko | Ilwazi |
|---|---|---|
--background | rgba(0, 0, 0, .7) | ivumela nanyana ngiyiphi inani langemuva le-CSS |
--color | rgb(255, 255, 255) | ivumela nanyana ngiyiphi inani lombala we-CSS |
Isikhumba lesi asisekeli --text-shadow
gridzySkinBlur
| Okuguquguqukako | Inani elijwayelekileko | Ilwazi |
|---|---|---|
--background | rgba(0, 0, 0, .7) | ivumela nanyana ngiyiphi inani langemuva le-CSS |
--color | rgb(255, 255, 255) | ivumela nanyana ngiyiphi inani lombala we-CSS |
--text-shadow | 0 0 10px rgb(0, 0, 0) | ivumela nanyana ngiliphi inani lomthunzi we-CSS |
gridzySkinCard
| Okuguquguqukako | Inani elijwayelekileko | Ilwazi |
|---|---|---|
--background | rgba(0, 0, 0, 1) | ivumela nanyana ngiyiphi inani langemuva le-CSS |
--color | rgb(255, 255, 255) | ivumela nanyana ngiyiphi inani lombala we-CSS |
--text-shadow | none | ivumela nanyana ngiliphi inani lomthunzi we-CSS |
Zoke iinkhumba ezihlathululwe ngaphambilini zisekela amagama alula womtlolo. Ungenza izikhumba zakho eziyinkimbinkimbi. Sibawa uqale i -Style Gridzy .
Isitayela Gridzy
Nangabe kungekho sikhumba esihlelwe ngaphambilini esifanelana neendingo zakho, ungazitayela esakho.
Indlela elula kukuthi uqale ngokukopa isikhumba esikhona bese usivumelanisa neendingo zakho. I gridzySkinBlank yesikhumba esihlathululwe ngaphambilini ivamise ukunikela isisekelo esihle kanye namadokhumende amahle 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 uzokufumana amaklasi gridzySkinBlank , gridzyImage kanye ne gridzyCaption . I-Gridzy ngokwayo ayiwatlhogi amakilasi la. Zisetjenziselwa ukwenza isitayela kwaphela begodu ungazisusa nofana uzibize kabutjha nangabe uyathanda.
Phezu kwalokho uzokufumana i-CSS class gridzyItem . I-Gridzy isetha iklasi ngokuzenzakalelako kibo boke abantwana abaqondileko be-elementi yesitja esikhulu. Ngalokho, ungasebenzisa iklasi le ukwenza isitayela sezinto zegalari yakho.
Khumbula izinto eziqakathekileko
- Okuqukethwe yinto kufanele kuphendule ngokuzeleko. Cabanga bona ubukhulu bezinto buzokutjhuguluka nakanjani. Sebenzisa amanani wamaphesente esikhundleni samanani wamaphikseli. Bese uqala i-Gridzy layout option
autoFontSize, ehlanganisa ubukhulu befonti kusayizi yebhokisi lento. - Into ngayinye kufanele ibe nesilinganiso esihlathululwe kuhle. Isilinganiso sento angeze satjhuguluka begodu siyatlhogeka ukubala igridi. Njeke nangabe into ayinayo i-aspect ratio ehlathululwe kuhle, yihlathulule ngaphambilini ngesandla (isib. nge-css).
Kwezinye izehlakalo, kungaba lula ukutjhugulula okuqukethwe kwezinto ngaphambi kokuthi i-Gridzy ithome. Susa iklasi ye gridzy nofana ifayela le-javascript le-Gridzy okwesikhatjhana malungana nalokhu.
Yilokho! Lokho ngikho koke okutlhogako ukwakha isikhumba sakho. Inengi lezikhumba ezichazwe ngaphambilini azisebenzisi okunengi kunalokhu.
Kodwana kungaba nokunye nangabe uyathanda ...
Iinkhumba ezithuthukisiweko
I-Gridzy isebenzisa amaklasi we-CSS amanengi ukudlula gridzyItem kwaphela. Inengi lazo lizokusethwa ngokuzenzakalelayo begodu ungazisebenzisela ukuzitayela.
Amaklasi weenkhonteyina ezikulu
| Ibizo leklasi | Ihlathululo |
|---|---|
gridzyukusetha ngesandla | I-Gridzy ithola ngokuzenzakalelayo izinto ezineklasi le bese iyaziqalisa. |
gridzyAnimated | Izokusethwa ngokuzenzakalelayo nangabe inketho animate true . Nangabe iklasi le isethwe ngesandla, inketho animate nayo izokuthola true ngokuzenzakalelayo (ngaphandle kwalokha isethwe ngokucacileko ku- false ). |
Amaklasi wezinto
| Ibizo leklasi | Ihlathululo |
|---|---|
gridzyItem | Izokusethwa msinyana lokha into nayithoma ikambiso yokuthoma. Angeze yasuswa. |
gridzyItemInitializing | Izokusethwa msinyana lokha into nayithoma ikambiso yokuthoma. Izokuthathelwa indawo yi gridzyItemReady msinyana ngemva kobana into sele ithomile. Akutjho bona iinthombe zilayishwe ngokuzeleko (qala gridzyItemLoading ), kodwana into ilungele ukubonakala. |
gridzyItemReady | Izokuthatha indawo ye gridzyItemInitializing msinyana ngemva kobana into sele ithomile ngokupheleleko. Angeze yasuswa. Akutjho bona iinthombe zilayishwe ngokuzeleko (qala gridzyItemComplete ), kodwana into ilungele ukubonakala. |
gridzyItemLoading | Izokusethwa msinyana lokha into nayithoma ikambiso yokuthoma. Izokuthathelwa indawo yi gridzyItemComplete msinyana ngemva kobana iinthombe eziqukethweko (ngokuvamileko yinye kwaphela) zilayishwe ngokuzeleko. |
gridzyItemComplete | Izokuthatha indawo ye gridzyItemLoading msinyana ngemva kobana iinthombe eziqukethweko (ngokuvamileko yinye kwaphela) zilayishwe ngokuzeleko. Angeze yasuswa. |
gridzyItemInitialToVisible | Kuzokusethwa msinyana lokha into nayithoma ukuvela kokuthoma. Izokususwa msinyana lokha into nayibonakala ngokupheleleko. |
gridzyItemVisible | Kuzokusethwa msinyana lokha into nayibonakala ngokuzeleko. Izokususwa msinyana lokha into nayithoma ukunyamalala. |
gridzyItemVisibleToHidden | Kuzokusethwa msinyana lokha into nayithoma ukunyamalala. Izokususwa msinyana ngemva kobana into leyo ifihleke ngokupheleleko. |
gridzyItemHidden | Izokusethwa msinyana ngemva kokuthi into ifihleke ngokupheleleko. Izokususwa msinyana lokha into nayithoma ukuvela. |
gridzyItemHiddenToVisible | Izokusethwa msinyana lokha into nayithoma ukuvela (ngaphandle kokuvela kokuthoma – qala iklasi ye gridzyItemInitialToVisible ). Izokususwa msinyana lokha into nayibonakala ngokupheleleko. |
gridzyItemVisibleToVisible | Kuzokusethwa msinyana lokha nakutjhugulukileko okuthileko kugridi, kodwana into ngokwayo beyisolo ibonakala. Izokususwa msinyana ngemva kokuthi ukutjhuguluka kwe-animation kuphelile. |
Ngokuzenzakalelayo isibonisi senqubo kanye nokunyakaza kwezithombe ezivelayo nezinyamalalayo zichazwe ngaphambilini yifayela elikhulu le-CSS le-Gridzy.
Ngamaklasi we-CSS akhulunywe ngehla ungazitayela iinkomba zakho zenqubo nama-animation. Hlola ifayela elikhulu le-CSS le-Gridzy, ukuzwisisa bona khuyini okufanele uyidlulise. Akusabi, yoke into itlolwe kuhle lapho.
Thuthukisa ukulayisha
Nawusebenzisa iinthombe ezinengi, kungaba mbono omuhle ukusiza i-Gridzy ukwakha igridi msinyana.
Vimbela ukugxuma kweenthombe
I-Gridzy itlhoga khulu isilinganiso seenthombe zoke ukubala igridi. Amaqiniso la aphumela ekugxumeni kwezinto nangabe ezinye iinthombe zikulungele kuthi ezinye azikalungeli. Lokha nakunemifanekiso eminengi, umphumela lo ungadina khulu.
Ukukhandela ukuziphatha lokhu, setha width height bazo zoke iingaba img . Kuqakathekile ukubeka amanani afaneleko wesithombe ngasinye, ngaphandle kwalokho iinthombe zingahlanekezelwa. Amanani afaneleko bubanzi nobude besithombe:
<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>Ngemva kwalokho i-Gridzy ingabala igridi khonokho ngaphandle kokutlhoga ukwazi ubukhulu beenthombe.
Ukulayisha okuvilaphako
Ukulayisha iinthombe ezisendaweni ebonakalako kwaphela, landela amagadango la:
- Faka
widthheightnjengombana kuchaziwe ngehla (qiniseka bona usebenzisa amanani afaneleko) - Faka zoke iimpawu
srcngedata-gridzylazysrcnjengombana kutjengiswe ngenzasi (nangabe uneempawusrcset, zibuyisele ngedata-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>Ngemva kwamagadango la iinthombe zizokulayisha msinyana nasele ziseduze nofana ngaphakathi kwendawo yokubuka.
Isitjengiso seNqubo
Isitjengiso senqubo sisithonjana esincani esiphilako esivela ngesikhathi isithombe silayishwa. Nawusebenzisa amagama abhalwe phasi neenkhumba , isitjengiso senqubo sizokutjengiswa ngokuzenzakalelako. Ngaphandle kwalokho udinga amatjhuguluko:
- Faka into ngayinye ye
imgibe yinto yediv
(nofana kiyo nanyana ngiyiphi enye into – qala i-HTML ye-semantic ukuthola okunengi) - Faka iklasi
gridzyImageku-elementi ngayinyeimg
<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>Ngemva kwalokho kufanele ubone iinkomba zenqubo nangabe iinthombe zithatha isikhathi ukulayisha.
Iinhlungi
Iinhlungi ku-Gridzy zilula kodwana zinamandla. Nanoma ngiliphi ihlobo lokuhlunga olitlhogako, kungenzeka bona lingakghonakala. Okutlhogako, i-CSS encani kanye nama-elementi wefomu le-HTML elimbalwa ...
Nasi isibonelo esisebenzako:
<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>Asiyakheni ngesinyathelo ngesinyathelo
1. Kokuthoma sitlhoga isakhiwo se-HTML esijayelekileko se-Gridzy bese sibeka amagama wamaklasi wazo zoke izinto zegalari ukwenzela bona sikwazi ukuzihlunga ngemva kwalokho
<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 sisebenzisa iklasi elilodwa kwaphela nge-elementi ngayinye. Kodwana ungasetha amaklasi amanengi wento yinye, nangabe into leyo kufanele itholakale ngeenhlungi ezinengi.
2. Bese singezelela amanye amabhathini lapho singatjhugulula khona amasefo bese
<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 samabhathini, ungasebenzisa ezinye izinto zefomu ezifana namabhokisi wokuhlola, amabhathini womrhatjho, amasimu wokukhetha njalo njalo.
Njengombana ubona, amanani wamabhathini abakhethi be-CSS abajayelekileko. Nasele siqedile, ukuchofoza inkinobho enjalo kuzokutjengisa iinthombe ezifana nesikhethi se-CSS. Ngokwethekhnikhi ibeka inketho filter kuleli nani.
Ungasebenzisa neenkhethi eziyinkimbinkimbi khulu. Ukwenza isibonelo :not(.animals) nazo zingasebenza, kanye .animals.people kanye .animals, .people .
3. Kokugcina, sifaka amabhathini esitjeni div bese siwabophelela kugalari ye-Gridzy, ngokusetha 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>Njengombana ubona, sisebenzisa isikhethi se-CSS sokukhetha i filterControls . Isitja div esine- id yenza kwaphela ukwenza bona kube lula ukukhetha amabhathini ngesikhethi se-CSS.
Yilokho!
Nawukhetha isisombululo se-JavaScript, qala i -API .
I-API
Nanyana i-Gridzy ine-API yayo, izinto ezinengi zingenziwa ngaphandle kwayo, ngokusebenzisa i-DOM. I-Gridzy izoyibona bese ilungisa igridi. Kodwana kune-API enamandla khulu ...
Ukusebenzisa i-DOM
Kiwo woke amatjhuguluko we-Document Object Model (DOM) sitlhoga kokuthoma into yesitja:
// get the container element
var gridzyElement = document.querySelector('.gridzy');Faka iinthombe
Kuqakathekile ukwakha ngokuzeleko nokuzalisa into etja yomntwana ngaphambi kobana uyifake esitjeni. Ngaphandle kwalokho i-Gridzy angeze yakwazi ukuthola ubukhulu obufaneleko.
// 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 iinthombe
// remove the first image
gridzyElement.removeChild(gridzyElement.firstElementChild);Tjhugulula iinkhetho
// 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');Okunengi ngokusebenzisa i-DOM ungakuthola kumadokhumenti wewebhu we-MDN . Kunesingeniso se-DOM esitholakalako.
I-API yomnikazi
Ukusebenzisa i-API, sithoma ngokutlhoga isibonelo se-Gridzy, esibophelelwe ku-elementi yesitja se-Gridzy:
// get the Gridzy instance
var gridzyInstance = document.querySelector('.gridzy').gridzy;Thola ikhetho
// get the value of a single option
var currentLayout = gridzyInstance.getOption('layout');Thola zoke iinkhetho
// get all option values as an object
var currentOptions = gridzyInstance.getOptions();Setha iinkhetho
// set specific option values
gridzyInstance.setOptions({
spaceBetween: 10,
layout: 'waterfall'
});
// or reset options to their default values
gridzyInstance.setOptions({
spaceBetween: null,
layout: null
});Sebenzisa isefo
Ukusebenzisa isihlungi kusetha filter sokukhetha esingaba yinoma ngisiphi isikhethi se-CSS esivumelekileko:
// 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'
});Faka imisebenzi yokubiza emuva
KUKHULULEKILEKO kusukela kuhlobo lwe-2.4.0
Sebenzisa imicimbi yesimanjemanje neguquguqukako esikhundleni salokho. Qala isigaba esilandelako malungana nemininingwana.
I-Gridzy.js 2 isekela ezinye iinkhetho zemisebenzi yokubiza emuva. Zingasethwa nge-API yomnikazi kwaphela, kodwana njengezinye iinkhetho:
// 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.
}
});Sebenzisa iminyanya
kusukela ngenguqulo 2.4.0
Ungasebenzisa izehlakalo ze-Gridzy njengezehlakalo ze-JavaScript ezijayelekileko:
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.
});Ezinye izehlakalo zidutshulwa ku-elementi yesitja se-Gridzy kuthi ezinye izehlakalo zidutshulwe ku-elementi yento ngayinye ngaphakathi kwe-elementi yesitja.
Izenzakalo ezidutshulwe ku-elementi yesitja se-Gridzy:
event.target unikela nge-elementi yesitja se-Gridzy.
event.detail.instance unikela ngesibonelo se-Gridzy.
Izenzakalo ezithunyelwe eentweni:
event.target inikela ngento ehlukileko.
event.detail.instance unikela ngesibonelo se-Gridzy.
I-API – Iphasi loke
Kuneminye imisebenzi engazimeleko eenkhathini ze-Gridzy. Njeke asitlhogi ukuthola isibonelo ngaphambilini.
Thola ikhetho elikhethiweko
// get the default value of a single option
var defaultLayout = Gridzy.getDefaultOption('layout');Thola zoke iinkhetho ezijayelekileko
// 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 iinkhetho ezijayelekileko
Lokhu akubeki iinkhetho zazo zoke iinthombe ze-Gridzy esele ziqalisiwe, kodwana kuhlathulula isisekelo seenthombe ezitjha. Kodwana, nangabe ikhetho lesibonelo esikhona lingasethwa kabutjha ngenani null , lingasebenzisa inani elitjha elikhethiweko.
// set default option values
Gridzy.setDefaultOptions({
spaceBetween: 10,
layout: 'waterfall'
});Ungasebenzisa lokhu ukusetha iinkhetho ephasini loke, nangabe uyibiza ngaphambi kokuthi i-DOM ilungele. Njeke angeze usatlhoga ukusetha iinkhetho njengeemfanelo.
Ukuzenzakalela
Inqobo nje nangabe woke ama-automatism we-Gridzy.js 2 asebenza, asikho isidingo seendlela ezingezansi. Kodwana ama-automatism angacinywa ukusebenzisa i-Gridzy ngendlela ejwayelekileko:
// 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
});Ezinye zeenkhetho lezi angeze zasethwa ngeempawu data-gridzy- nofana nge setOptions() , ngebanga lezizathu ezizwakalako:
Qalisa ngesandla
// initialize a new Gridzy instance
var gridzyInstance = new Gridzy(document.querySelector('.gridzy'), {
spaceBetween: 10,
layout: 'waterfall'
});Bhidliza isibonelo
Ngokungakafaneli, okuphambene nokuqalisa i-Gridzy.
gridzyInstance.destroy();
gridzyInstance = null;Vumelanisa irhelo labantwana ngesandla
// after child elements (images) are added to or removed from the DOM.
gridzyInstance.syncChildList();Vumelanisa into yomntwana oyedwa ngesandla
Ngokuvamileko akutlhogeki, ngaphandle kwezehlakalo ezingakavami.
// after child elements (images) are added to the DOM and only one of them should be synced to Gridzy.
gridzyInstance.syncChild(childElement);Vumelanisa iimfanelo ngesandla
Qaphela bona inketho useOptionAttributes kufanele ibe true kilokhu.
// after data-gridzy- attributes have changed
gridzyInstance.syncAttributes();Ukugandelela
Ngokuvamileko akutlhogeki, ngitjho nanyana woke ama-automatism avaliwe
gridzyInstance.render();