Automatiko a naipatarus ti website. No adda saan a nalawag, pangngaasiyo ta kitaenyo ti Ingles a dokumentasion.
Pangrugian nga Usar
I-upload dagiti Gridzy files iti server-mo ken inayon dagitoy iti website-mo (kadawyan nga adda iti head section):
<link rel="stylesheet" href="gridzy/gridzy.min.css" />
<script src="gridzy/gridzy.min.js"></script>Inayon ti kodigo ti HTML (aniaman iti benneg ti bagi):
<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>Dayta dayta! Dayta ti naan-anay a panagandar a pagarigan. Awan ti kasapulan nga ekstra nga initialization.
Konfigurasion ti
Ti kalalakaan a wagas a mangikonfigura ti Gridzy ket, ti panangusar laeng kadagiti kababalin ti HTML. Kasapulan laeng nga i-prefix dagiti nagan ti pagpilian iti data-gridzy- . Isu a, tapno mangikeddeng ti pagpilian spaceBetween , inayon laeng ti attribute 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>Kangrunaan a Pagpilian
Justified Dagiti Pagpilian ti Layout
Waterfall Dagiti Pagpilian ti Layout
Ad-adu pay nga Advanced Options
Para kadagiti ad-adu nga adelantado a pagpilian, kitaen ti API .
Semantiko nga HTML
Ti kasimplean nga estruktura ti HTML ti Gridzy ket daytoy:
<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>Nupay kasta, ti Gridzy ket nalaka unay a maibagay ken mabalinmo nga usaren ti gangani nga ania man a sabali nga estruktura ti HTML. Adda sumagmamano laeng a punto a masapul nga usigen:
- Tunggal anak ti elemento ti paglaon ket mangibagi ti maysa a banag iti grid.
- Agpada a ti elemento ti paglaon ken dagiti annakna ket mabalin nga ania man a kita ti tag, a kas ti
ulkenli(ibilang laeng ti panangi-reset kadagiti default ti browser). - No ti maysa nga elemento
imgket saan a direkta nga ubing a mismo, kasapulanna ti klasegridzyImage.
Isu a daytoy met ti agtartrabaho nga estruktura ti HTML:
<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>Nangruna no kayatmo ti mangnayon kadagiti kapsion, kasapulam ti narang-ay nga estruktura ti HTML. Tapno maammuan ti ad-adu pay maipapan iti dayta, kitaem ti Captions & Skins .
Kapsion & Kudil
No kayatmo ti mangnayon kadagiti kapsion iti galeriam, kasapulam nga ikeddeng ti langa. Gapuna, magun-odan ti dadduma a nasakbay a naikeddeng a kudil. Tunggal kudil a buklen ti CSS file. Masapul nga inayonmo daytoy a papeles malaksid kadagiti kangrunaan a papeles ti Gridzy (kadawyan nga adda iti benneg ti ulo):
<link rel="stylesheet" href="gridzy/skins/gridzySkinClassic/style.min.css" />Maysa pay kasapulam ti narang-ay nga estruktura ti HTML:
<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>No pampanunotem ti maipapan iti estruktura ti HTML, kitaem ti Semantiko nga HTML .
Para iti kapsion mabalinmo nga usaren ti ania man a kita ti etiketa, siguraduem laeng nga addaan daytoy iti klase gridzyCaption . Ti elemento img ket kasapulanna ti klase gridzyImage .
Ti pagarigan iti ngato ket mangipakita kenka ti kudil gridzySkinClassic . Tapno mausar ti sabali, sukatan laeng ti nagan ti kudil iti maysa kadagitoy:
Nairaman dagiti Kudil
| Dagiti Mabalin a Klase | |
|---|---|
| gridzyKudilBlank nga nasayaat a pangrugian ti panangparnuay iti bukod a kudil live nga preview | gridzySkinBlank |
| gridzySkinClassic live nga preview | gridzySkinClassic(NALABIT manipud iti bersion 2.6.0) |
| gridzySkinFullOverlay live nga preview | gridzySkinFullOverlay(NALABIT manipud iti bersion 2.6.0) |
| gridzySkinLift live nga preview | gridzySkinLift(NALABIT manipud iti bersion 2.6.0) |
| gridzySkinMagnifier saan a nairaman ti panagandar ti zoom live nga preview | gridzySkinMagnifier(NALABIT manipud iti bersion 2.6.0) |
Amin dagiti kudil iti ngato ket kasapulan laeng ti CSS a papeles, ngem adda dagiti kanayonan a kudil a kasapulan pay ti JavaScript a papeles:
<link rel="stylesheet" href="gridzy/skins/gridzySkinBlur/style.min.css" />
<script src="gridzy/skins/gridzySkinBlur/script.min.js"></script>| Dagiti Mabalin a Klase | |
|---|---|
| gridzySkinBlur saan nga agtrabaho iti IE live nga preview | gridzySkinBlur(NALABIT manipud iti bersion 2.6.0) |
| gridzySkinCard live nga preview | gridzySkinCard(NALABIT manipud iti bersion 2.6.0) |
Dagiti Pagpilian iti Kudil
Manipud idi bersion 2.6.0 adda dagiti Pagpilian a mangikonfigura kadagiti naibangon a kudil. Depende iti espesipiko a kudil mabalinmo nga i-set ti kolor ti likudan, kolor ti teksto ken anniniwan ti teksto. Masapul laeng nga usarem dagiti kostumbre a tagikua ti CSS kas makitam ditoy:
<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>Kitaen dagiti nasuportaran a variable ken dagiti default a pateg para iti tunggal maysa a kudil ditoy:
gridzySkinClassic
| Variable nga | Default nga Pateg | Impormasion |
|---|---|---|
--background | rgba(0, 0, 0, .7) | palubosanna ti ania man a pateg ti likudan ti CSS |
--color | rgb(255, 255, 255) | palubosanna ti ania man a pateg ti kolor ti CSS |
--text-shadow | none | palubosanna ti ania man a pateg ti teksto-anniniwan ti CSS |
gridzySkinFullOverlay
| Variable nga | Default nga Pateg | Impormasion |
|---|---|---|
--background | rgba(0, 0, 0, .7) | palubosanna ti ania man a pateg ti likudan ti CSS |
--color | rgb(255, 255, 255) | palubosanna ti ania man a pateg ti kolor ti CSS |
--text-shadow | none | palubosanna ti ania man a pateg ti teksto-anniniwan ti CSS |
gridzySkinLift
| Variable nga | Default nga Pateg | Impormasion |
|---|---|---|
--background | rgba(0, 0, 0, .7) | palubosanna ti ania man a pateg ti likudan ti CSS |
--color | rgb(255, 255, 255) | palubosanna ti ania man a pateg ti kolor ti CSS |
--text-shadow | 0 0 10px rgb(0, 0, 0), 0 0 20px rgb(0, 0, 0), 0 0 30px rgb(0, 0, 0) | palubosanna ti ania man a pateg ti teksto-anniniwan ti CSS |
gridzySkinMagnifier
| Variable nga | Default nga Pateg | Impormasion |
|---|---|---|
--background | rgba(0, 0, 0, .7) | palubosanna ti ania man a pateg ti likudan ti CSS |
--color | rgb(255, 255, 255) | palubosanna ti ania man a pateg ti kolor ti CSS |
Daytoy a kudil ket saan a mangsuporta ti --text-shadow
gridzySkinBlur
| Variable nga | Default nga Pateg | Impormasion |
|---|---|---|
--background | rgba(0, 0, 0, .7) | palubosanna ti ania man a pateg ti likudan ti CSS |
--color | rgb(255, 255, 255) | palubosanna ti ania man a pateg ti kolor ti CSS |
--text-shadow | 0 0 10px rgb(0, 0, 0) | palubosanna ti ania man a pateg ti teksto-anniniwan ti CSS |
gridzySkinCard
| Variable nga | Default nga Pateg | Impormasion |
|---|---|---|
--background | rgba(0, 0, 0, 1) | palubosanna ti ania man a pateg ti likudan ti CSS |
--color | rgb(255, 255, 255) | palubosanna ti ania man a pateg ti kolor ti CSS |
--text-shadow | none | palubosanna ti ania man a pateg ti teksto-anniniwan ti CSS |
Amin dagiti nasakbay a naikeddeng a kudil ket mangsuporta laeng kadagiti simple a kapsion ti teksto. Mabalinmo ti mangparnuay kadagiti bukodmo ken mas komplikado a kudil. Pangngaasiyo ta kitaenyo ti Estilo Gridzy .
Estilo nga Gridzy
No awan ti nasakbay a naikeddeng a kudil a maibagay kadagiti kasapulam, mabalinmo nga estiloen ti bukodmo.
Ti kalalakaan a pamay-an ket umuna a kopiaem ti addan a kudil ken ibagaymo dayta kadagiti bukodmo a kasapulam. Ti nasakbay a naikeddeng a kudil gridzySkinBlank ket kadawyan a mangipaay ti nasayaat a pundasion ken kasta met ti nasayaat a dokumentasion iti CSS a papeles:
/** 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;
}Iti CSS a papeles ket masarakam dagiti klase a gridzySkinBlank , gridzyImage ken gridzyCaption . Saan a kasapulan ni Gridzy a mismo dagitoy a klase. Mausar laeng dagitoy para iti estilo ket ngarud mabalinmo nga ikkaten wenno baliwan ti nagan dagitoy no kayatmo.
Mainayon pay a masarakam ti klase ti CSS gridzyItem . Ti Gridzy ket automatiko nga ikeddeng daytoy a klase kadagiti amin a direkta nga annak ti kangrunaan nga elemento ti paglaon. Gapuna, mabalinmo nga usaren daytoy a klase tapno estiloen dagiti banag ti galeriam.
Ipanunot Dagiti Napateg a Bambanag
- Rumbeng a naan-anay a makasungbat dagiti linaon ti item. Panunotem a sigurado nga agbaliw ti kadakkel ti elemento. Usaren dagiti pateg ti porsiento imbes a dagiti pateg ti pixel. Ket kitaen ti pagpilian ti layout ti Gridzy
autoFontSize, a mangisilpo ti kadakkel ti letra iti kadakkel ti kahon ti banag. - Tunggal banag ket rumbeng nga addaan iti nasayaat ti pannakadepinar nga aspect ratio. Saan a pulos nga agbaliw ti aspect ratio ti item ken kasapulan tapno makalkula ti grid. Isu a no ti maysa a banag ket saan nga automatiko nga addaan iti nasayaat a naikeddeng nga aspeto a ratio, nasakbay a naikeddeng daytoy a manual (kas pagarigan babaen ti css).
Iti dadduma a kaso, mabalin a nalaklaka nga estilo ti linaon dagiti banag sakbay nga agrugi ti Gridzy. Ikkaten laeng ti klase gridzy wenno ti Gridzy javascript file a temporario para iti daytoy.
Dayta dayta! Dayta laeng ti kasapulam tapno makaaramidka iti bukodmo a kudil. Kaaduan kadagiti nasakbay a naikeddeng a kudil ket saan nga agus-usar iti ad-adu ngem daytoy.
Ngem mabalin nga adda pay no kayatmo ...
Narang-ay a Kudil
Ti Gridzy ket agus-usar kadagiti ad-adu a klase ti CSS ngem ti laeng gridzyItem . Kaaduan kadagitoy ket automatiko a ma-set ken mabalinmo nga usaren dagitoy para iti panag-styling met.
Dagiti Klase ti Kangrunaan a Container
| Nagan ti Klase | Panangiladawan |
|---|---|
gridzynga i-set a manual | Automatiko a mangbirok ni Gridzy kadagiti elemento nga addaan iti daytoy a klase ken irugina dagitoy. |
gridzyAnimated | Automatiko a maikeddeng no ti pagpilian nga animate ket true . No daytoy a klase ket naikeddeng a manual, ti pagpilian nga animate ket automatiko a makagun-od true met (malaksid no daytoy ket nalawag a naikeddeng iti false ). |
Dagiti Klase ti Item
| Nagan ti Klase | Panangiladawan |
|---|---|
gridzyItem | Maikeddeng apaman a mangrugi ti banag iti proseso ti panangrugi. Saanto a pulos a maikkat. |
gridzyItemInitializing | Maikeddeng apaman a mangrugi ti banag iti proseso ti panangrugi. Masukatanto babaen ti gridzyItemReady apaman a naan-anay a nairugi ti banag. Kayatna a sawen a saan a dagiti ladawan ket naan-anay a nakargaan (kitaen gridzyItemLoading ), ngem ti banag ket nakasaganan a makita. |
gridzyItemReady | Sukatan ti gridzyItemInitializing apaman a naan-anay a nairugi ti banag. Saanto a pulos a maikkat. Kayatna a sawen a saan a dagiti ladawan ket naan-anay a nakargaan (kitaen gridzyItemComplete ), ngem ti banag ket nakasaganan a makita. |
gridzyItemLoading | Maikeddeng apaman a mangrugi ti banag iti proseso ti panangrugi. Masukatanto babaen ti gridzyItemComplete apaman a naan-anay a maikarga dagiti linaon a ladawan (kadawyan a maysa laeng). |
gridzyItemComplete | Sukatanto gridzyItemLoading apaman a naan-anay a maikarga dagiti linaon a ladawan (kadawyan a maysa laeng). Saanto a pulos a maikkat. |
gridzyItemInitialToVisible | Maikeddeng apaman a mangrugi nga agparang ti banag iti umuna a gundaway. Maikkatto apaman a naan-anay a makita ti banag. |
gridzyItemVisible | Maikeddeng apaman a naan-anay a makita ti banag. Maikkatto apaman a mangrugin a mapukaw ti banag. |
gridzyItemVisibleToHidden | Maitudingto apaman a mangrugin a mapukaw ti banag. Maikkatto apaman a naan-anay a nailemmeng ti banag. |
gridzyItemHidden | Maikeddeng apaman a naan-anay a nailemmeng ti banag. Maikkatto apaman a mangrugin nga agparang ti banag. |
gridzyItemHiddenToVisible | Maikeddengto apaman a mangrugi nga agparang ti banag (malaksid ti panagparang iti umuna a gundaway – kitaen ti klase gridzyItemInitialToVisible ). Maikkatto apaman a naan-anay a makita ti banag. |
gridzyItemVisibleToVisible | Maikeddengto apaman a nagbaliw ti maysa a banag iti grid, ngem ti banag a mismo ket idi ken agtalinaed a makita. Maikkatto apaman a malpas ti change animation. |
Babaen ti default ti mangipakita ti proseso ken dagiti animasion para kadagiti agparang ken agpukaw a ladawan ket nasakbay a naikeddeng babaen ti Gridzy a kangrunaan a CSS a papeles.
Babaen kadagitoy a nadakamat iti ngato a klase ti CSS mabalinmo nga estiloen ti bukodmo a mangipakita ti proseso ken dagiti animasion. Maituredmo a kitaen ti Gridzy a kangrunaan a CSS a file, tapno maawatan no ania ti masapul nga i-override-mo. Awan ti buteng, nasayaat ti pannakadokumento ti amin sadiay.
Optimize ti Panagkarga
No adu ti usarem a ladawan, mabalin a nasayaat nga ideya a tulongan ni Gridzy a mangbangon iti grid a naparpartak.
Lapdan ti Panagluksaw Dagiti Ladawan
Talaga a kasapulan ni Gridzy ti aspect ratio ti amin a ladawan tapno makalkula ti grid. Dagitoy a kinapudno ket agresulta kadagiti panagluksaw nga elemento no dagiti dadduma a ladawan ket nakasagana ken dagiti dadduma ket saan. No ad-adu dagiti ladawan, ad-adda a makarimon daytoy nga epekto.
Tapno malapdan daytoy a kababalin, ikeddeng laeng dagiti kababalin width ken height para kadagiti amin nga elemento img . Napateg nga ikeddeng dagiti umno a pateg para iti tunggal indibidual a ladawan, ta no saan ket maballikug dagiti ladawan. Dagiti umno a pateg ket ti orihinal a kalawa ken kangato ti bukod a ladawan:
<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>Kalpasanna ni Gridzy ket mabalinna a kalkularen a dagus ti grid a saan a kasapulan nga ammuen dagiti aktual a kadakkel dagiti ladawan.
Natamad nga Pagkarga
Tapno maikarga laeng dagiti ladawan nga adda iti makita a viewport, suroten laeng dagitoy nga addang:
- Ikabil dagiti kababalin
widthkenheighta kas nailadawan iti ngato (siguraduen nga usaren dagiti umno a pateg) . - Sukatan amin dagiti kababalin
srcitidata-gridzylazysrca kas naipakita iti baba (no addaanka met kadagiti kababalinsrcset, sukatam dagitoy itidata-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>Kalpasan dagitoy nga addang dagiti ladawan ket agkarga apaman nga asideg wenno iti uneg ti viewport.
Indikador ti Proseso
Ti process indicator ket isu ti bassit nga animated icon a maiparang bayat ti panagkarga ti ladawan. No agusarka kadagiti kapsion & kudil , automatiko a maipakita ti mangipakita ti proseso. Ta no saan kasapulam ti sumagmamano a panagbalbaliw:
- Ikabil ti tunggal
imgelement itidivelement
(wenno iti ania man a sabali nga elemento – kitaen ti semantiko nga HTML para iti ad-adu pay) - Inayon ti klase
gridzyImageiti tunggal maysa nga elementoimg
<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>Kalpasan dayta ket rumbeng a makitam dagiti mangipakita ti proseso no dagiti ladawan ket mangala ti panawen tapno makarga.
Dagiti pagsala
Dagiti filter iti Gridzy ket medyo simple ngem nabileg. Uray ania a kita ti filter ti kasapulam, dakkel ti posibilidadna a matungpal dayta. Ti laeng kasapulam ket, bassit a CSS ken sumagmamano nga elemento ti porma ti HTML ...
Adtoy ti maysa a pagarigan ti panagandar:
<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>Ibangontayo Dayta Addang-addang
1. Umuna kasapulan tayo ti gagangay nga HTML structure ti Gridzy ken mangiset ti class names para kadagiti amin nga gallery items tapno ma-filter tayo dagitoy kalpasanna
<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>Iti daytoy a pagarigan usarentayo laeng ti maysa a klase para iti tunggal elemento. Ngem mabalinmo pay nga ikeddeng dagiti adu a klase para iti maymaysa nga elemento, no dayta nga elemento ket rumbeng a masarakan babaen dagiti adu a pagsala.
2. Kalpasanna, inayontayo ti sumagmamano a buton a babaen kadagitoy ket mabalintayo a baliwan dagiti pagsala kalpasanna
<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>Imbes a dagiti buton, mabalinmo pay nga usaren dagiti dadduma nga elemento ti porma a kas dagiti kahon ti tsek, dagiti buton ti radio, dagiti pilien a tay-ak ken dadduma pay.
Kas makitam, dagiti pateg dagiti buton ket kadawyan a CSS selectors. Apaman a malpasmi, ti panangi-click iti kasta a buton ket mangipakita kadagiti ladawan a maitunos iti dayta a CSS selector. Iti teknikal ket basta mangikeddeng ti pagpilian filter iti daytoy a pateg.
Mabalinmo met nga usaren dagiti mas komplikado nga amang a selector. Kas pagarigan :not(.animals) ket agtrabaho met, kasta met ti .animals.people ken .animals, .people .
3. Maudi, ikapsulatayo dagiti buton iti div container ken i-bindtayo dagitoy iti Gridzy gallery, babaen ti panangisaad ti filterControls option:
<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>Kas makitam, agus-usarkami met iti CSS selector para iti filterControls option. Ti div container nga addaan iti id attribute ket agserbi laeng a mangaramid kadagiti buton a nalaklaka a pilien babaen dayta a CSS selector.
Dayta dayta!
No kaykayatmo ti solusion ti JavaScript, kitaem ti API .
API
Urayno ti Gridzy ket addaan iti bukodna nga API, kaaduan a banag ket mabalin nga aramiden nga awan daytoy, babaen laeng ti panangmanipula ti DOM. Madlaw ni Gridzy dayta ket i-adjust ti grid. Ngem adda met nabileg unay nga API ...
Panangmanipula iti DOM
Para kadagiti amin a manipulasion ti Document Object Model (DOM) nga umuna a kasapulantayo ti elemento ti paglaon:
// get the container element
var gridzyElement = document.querySelector('.gridzy');Add Images
Napateg a naan-anay a mangbangon ken punnuen ti baro nga elemento ti ubing sakbay nga inayonmo daytoy iti elemento ti pagkargaan. Ta no saan, saan a madlaw ni Gridzy dagiti umno a dimension.
// 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);Ikkaten dagiti Ladawan
// remove the first image
gridzyElement.removeChild(gridzyElement.firstElementChild);Baliwan dagiti Pagpilian
// 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');Ad-adu pay maipapan ti panagmanipula ti DOM ket mabalinmo a masarakan idiay MDN web docs . Adda met ti Introduction to the DOM a magun-od.
Ti API ti kukua
Tapno mausar ti API, kasapulantayo nga umuna ti Gridzy nga instansia, a daytoy ket naisilpo iti Gridzy container element:
// get the Gridzy instance
var gridzyInstance = document.querySelector('.gridzy').gridzy;Alaen ti Opsion
// get the value of a single option
var currentLayout = gridzyInstance.getOption('layout');Alaen ti Amin a Pagpilian
// get all option values as an object
var currentOptions = gridzyInstance.getOptions();Itakderan dagiti Pagpilian
// set specific option values
gridzyInstance.setOptions({
spaceBetween: 10,
layout: 'waterfall'
});
// or reset options to their default values
gridzyInstance.setOptions({
spaceBetween: null,
layout: null
});I-apply ti Filter
Ti panangipakat ti maysa a pagsala ket panangisaad laeng ti filter ti pagpilian a mabalin nga ania man a balido a mangpili ti CSS:
// 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'
});Inayon dagiti Function ti Callback
NA-DEPRECATED manipud idi bersion 2.4.0
Usaren ketdi dagiti moderno ken ad-adda a nalaka a maibagay a Pasamak . Kitaen ti sumaganad a benneg para kadagiti detalye.
Ti Gridzy.js 2 ket mangsuporta kadagiti sumagmamano a pagpilian para kadagiti panagandar ti panagayab manen. Mabalin laeng a maikeddeng dagitoy babaen ti tagikua nga API, ngem kas met laeng dagiti dadduma a pagpilian:
// 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.
}
});Usaren dagiti Pasamak
manipud idi bersion 2.4.0
Mabalinmo nga usaren dagiti pasamak ti Gridzy nga eksakto a kas dagiti gagangay a pasamak ti JavaScript:
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.
});Sumagmamano a pasamak ket maipaputok iti elemento ti paglaon ti Gridzy ken dagiti dadduma a pasamak ket naputolan kadagiti indibidual nga elemento ti banag iti uneg ti elemento ti paglaon.
Dagiti pasamak a napaltogan iti elemento ti paglaon ti Gridzy:
event.target ket mangipaay ti elemento ti paglaon ti Gridzy.
event.detail.instance ket mangipaay ti instansia ti Gridzy.
Dagiti pasamak a napaltogan kadagiti elemento ti item:
event.target ket mangipaay ti bukod nga elemento ti banag.
event.detail.instance ket mangipaay ti instansia ti Gridzy.
API – Sangalubongan
Adda dagiti sumagmamano a panagandar nga agwaywayas kadagiti instansia ti Gridzy. Isu a saantayo a kasapulan ti mangala iti instance sakbayna.
Alaen ti Default a Pagpilian
// get the default value of a single option
var defaultLayout = Gridzy.getDefaultOption('layout');Alaen Amin a Default a Pagpilian
// 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');Itakderan dagiti Default a Pagpilian
Daytoy ket saan a mangikeddeng kadagiti pagpilian ti amin a naidasig a Gridzy nga instansia, ngem mangikeddeng ti batayan para kadagiti baro nga instansia. Nupay kasta, no ti maysa a pagpilian ti addan nga instansia ket maisubli babaen ti pateg a null , daytoy ket agus-usar ti baro a kasisigud a pateg.
// set default option values
Gridzy.setDefaultOptions({
spaceBetween: 10,
layout: 'waterfall'
});Mabalinmo nga usaren daytoy tapno mangikeddeng kadagiti pagpilian iti sangalubongan, no awagan daytoy sakbay a nakasaganan ti DOM. Isu a saanen a kasapulan nga ikeddeng dagiti pagpilian kas attribute.
Dagiti automatismo
No la ketdi amin nga automatismo ti Gridzy.js 2 ket aktibo, saan a kasapulan dagiti pamay-an iti baba. Ngem dagiti automatismo ket mabalin nga iddepen tapno mausar ti Gridzy iti mas tradisional a wagas:
// 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
});Sumagmamano kadagitoy a pagpilian ket saan a maikeddeng babaen data-gridzy- a kababalin wenno babaen ti setOptions() , gapu kadagiti lohikal a rason:
Manual nga Irugi
// initialize a new Gridzy instance
var gridzyInstance = new Gridzy(document.querySelector('.gridzy'), {
spaceBetween: 10,
layout: 'waterfall'
});Dadaelen ti Instansia
Roughly said, kasungani ti panangirugi iti Gridzy.
gridzyInstance.destroy();
gridzyInstance = null;Manual nga I-sync ti Listaan ti Ubing
// after child elements (images) are added to or removed from the DOM.
gridzyInstance.syncChildList();Manual nga I-sync ti Single Child Element
Gagangay a saan a kasapulan, malaksid kadagiti manmano unay a kaso.
// after child elements (images) are added to the DOM and only one of them should be synced to Gridzy.
gridzyInstance.syncChild(childElement);Manual nga I-sync dagiti Attribute
Panunoten a ti pagpilian useOptionAttributes ket masapul a true para iti daytoy.
// after data-gridzy- attributes have changed
gridzyInstance.syncAttributes();Puersa a Panagparang
Gagangay a saan a kasapulan, uray no naiddep amin nga automatismo
gridzyInstance.render();