Dikan-teny 2.x


Fampiasana fototra

Ampidiro any amin'ny mpizara ny rakitra Gridzy ary ampio amin'ny tranokalanao (matetika eo amin'ny fizarana loha):

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

Ampio ny code HTML (na aiza na aiza ao amin'ny fizarana vatana):

<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>

Dia izay! Ohatra azo ampiasaina tanteraka izany. Tsy ilaina ny fanombohana fanampiny.

fanahafana

Ny fomba tsotra indrindra hanamboarana an'i Gridzy dia ny fampiasana ny toetra HTML. Ny anarana safidy ihany no ilainao amin'ny data-gridzy- . Noho izany, raha hametraka ny spaceBetween safidy, ampio fotsiny ny 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>

Safidy lehibe

Sanda DefaultDescription
animatetrueMamaritra raha tokony hampiasaina ny sarimiaina rehefa miova ny grid (ohatra, rehefa manova ny haben'ny varavarankelin'ny navigateur na rehefa mametraka sivana).
layoutjustifiedMamaritra ny layout ampiasaina. Gridzy.js 2 dia manohana ireo lamina roa samy hafa justified sy waterfall . Ny tsirairay amin'izy ireo dia manana ny masontsivana safidy fanampiny, izay hitanao eto ambany latabatra.
filter*Mamaritra izay sary tokony haseho. Ny CSS-selector rehetra dia azo ampiasaina ho sanda eto. Matetika apetraka ho azy amin'ny alalan'ny filterControls (jereo ny safidy manaraka).
Jereo ny Filters
filterControlsMamaritra izay singa endrika azo ampiasaina hanivana ny sary. Ny mpifidy CSS rehetra, izay mifidy singa endrika HTML, dia azo ampiasaina ho sanda eto.
Jereo ny Filters
autoConsiderScrollBarstrueMaminavina ny sakan'ny misy raha toa ka mipoitra na manjavona ny scroll bar. Amporisihina foana ny hamela azy io ho true raha tsy miteraka olana io automatism io.

Justified Safidy fametrahana

Sanda DefaultDescription
autoFontSizefalseHavaozy ho azy ny fananan'ny haben'ny endritsoratra isaky ny boaty mifototra amin'ny haben'ny boaty tany am-boalohany. Amin'ny alàlan'ny default dia tsy apetraka mazava tsara ny fananana haben'ny endritsoratra.
desiredHeight190Mamaritra ny haavon'ny andalana singa irina. Ny tena haavony dia hokajiana arakaraka ny sakany misy sy ny singa ao amin'ny laharana.
hideOnMissingImagetrueManafina boaty misy sary tsy azo ampidirina.
spaceBetween4Mamaritra ny elanelana misy eo amin'ny singa amin'ny piksel.
lastRowAlign
hatramin'ny version 2.3.0
justifiedMamaritra ny fihetsiky ny andalana farany. Ny sanda navela dia left , center , right ary justified .
singleRowAlign
hatramin'ny version 2.3.0
justifiedMamaritra ny fihetsika raha tsy misy afa-tsy andalana tokana. Ny sanda navela dia left , center , right ary justified .
fillLastRow
hatramin'ny version 2.1.0
trueESOSY hatramin'ny dikan-teny 2.4.0 (TSY MISY hatramin'ny version 2.3.0 )
Mandamina ny sary mba ho feno tanteraka ny laharana farany. Raha mikasa ny hampiditra sary amin'ny fomba mavitrika ianao, dia mety ho hevitra tsara ny hanesorana izany.
Tsy misy fiantraikany amin'ny andalana tokana (jereo fillSingleRow ).
fillSingleRow
hatramin'ny version 2.1.0
trueESOSY hatramin'ny dikan-teny 2.4.0 (TSY MISY hatramin'ny version 2.3.0 )
Raha tsy misy afa-tsy andalana iray, dia mandamina ny sary mba ho feno tanteraka ny laharana. Raha mety hitranga fa tsy manana afa-tsy sary iray na roa ao amin'ny galeria ianao, dia mety ho hevitra tsara ny hanafoanana izany.

Waterfall Layout Options

Sanda DefaultDescription
autoFontSizefalseHavaozy ho azy ny fananan'ny haben'ny endritsoratra isaky ny boaty mifototra amin'ny haben'ny boaty tany am-boalohany. Amin'ny alàlan'ny default dia tsy apetraka mazava tsara ny fananana haben'ny endritsoratra.
desiredWidth250Mamaritra ny sakan'ny andry irina. Ny tena sakany dia hokajiana arakaraka ny sakany misy sy ny isan'ny tsanganana.
hideOnMissingImagetrueManafina boaty misy sary tsy azo ampidirina.
horizontalOrderfalseMamaritra fa ny singa dia apetraka amin'ny singa iray amin'ny tsanganana tsirairay avy eo ankavia miankavanana, dia manomboka indray ao amin'ny tsanganana havia indrindra tsy miankina izay misy tsanganana kokoa. Amin'ny alàlan'ny default dia hapetraka ao amin'ny tsanganana miaraka amin'ny haavony kely indrindra ny singa.
spaceBetween4Mamaritra ny elanelana misy eo amin'ny singa amin'ny piksel.
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.

Safidy mandroso kokoa

Raha mila safidy mandroso kokoa, jereo ny API .

HTML semantika

Ny rafitra HTML tsotra indrindra an'ny Gridzy dia izao:

<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>

Na izany aza, Gridzy dia tena malefaka ary afaka mampiasa saika rafitra HTML hafa ianao. Misy teboka vitsivitsy ihany hodinihina:

  • Ny ankizy tsirairay amin'ny singa fitoeran-javatra dia maneho singa iray ao amin'ny grid.
  • Na ny singa fitoeran-javatra sy ny zanany dia mety ho karazana marika rehetra, toy ny ul sy li (jereo fotsiny ny famerenana ny default amin'ny navigateur).
  • Raha tsy zanaka mivantana ny singa img iray dia mila ny class gridzyImage .

Ka ity koa dia rafitra HTML miasa:

<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>

Indrindra raha te-hanampy lohateny ianao dia mila rafitra HTML mandroso. Raha te hahalala bebe kokoa momba izany dia jereo ny Captions & Skins .

Captions & Hoditra

Raha te-hanampy lohateny ao amin'ny galerianao ianao dia mila mamaritra ny endriny. Noho izany dia misy hoditra efa voafaritra mialoha. Ny hoditra tsirairay dia misy rakitra CSS. Mila ampidirinao ity rakitra ity ho fanampin'ny rakitra Gridzy lehibe (matetika ao amin'ny fizarana loha):

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

Ankoatra izany, mila rafitra HTML mandroso ianao:

<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>

Raha manontany tena momba ny rafitra HTML ianao dia jereo ny Semantic HTML .

Ho an'ny caption dia azonao atao ny mampiasa karazana tag rehetra, ataovy izay hahazoana antoka fa manana ny class gridzyCaption . Mila ny class gridzyImage ny singa img .

Ity ohatra etsy ambony ity dia mampiseho anao ny hoditra gridzySkinClassic . Raha hampiasa iray hafa, soloy fotsiny ny anaran'ny hoditra amin'ny iray amin'ireto:

Anisan'izany ny hoditra

Kilasy misy
gridzySkinBlank
toerana fanombohana tsara amin'ny famoronana hoditra manokana
fijerena mivantana
gridzySkinBlank
gridzySkinClassic
fijerena mivantana
gridzySkinClassic
gridzySkinClassicLight(TSY MISY hatramin'ny version 2.6.0)
gridzySkinFullOverlay
fijerena mivantana
gridzySkinFullOverlay
gridzySkinFullOverlayLight(TSY MISY hatramin'ny version 2.6.0)
gridzySkinLift
fijerena mivantana
gridzySkinLift
gridzySkinLiftLight(TSY MISY hatramin'ny version 2.6.0)
gridzySkinMagnifier
tsy tafiditra ny fampiasa zoom
fijerena mivantana
gridzySkinMagnifier
gridzySkinMagnifierLight(TSY MISY hatramin'ny version 2.6.0)

Ireo hoditra rehetra voalaza etsy ambony ireo dia mila rakitra CSS ihany, fa misy hoditra fanampiny izay mitaky rakitra JavaScript ihany koa:

<link rel="stylesheet" href="gridzy/skins/gridzySkinBlur/style.min.css" />
<script src="gridzy/skins/gridzySkinBlur/script.min.js"></script>
Kilasy misy
gridzySkinBlur
tsy miasa amin'ny IE
fijerena mivantana
gridzySkinBlur
gridzySkinBlurLight(TSY MISY hatramin'ny version 2.6.0)
gridzySkinCard
fijerena mivantana
gridzySkinCard
gridzySkinCardLight(TSY MISY hatramin'ny version 2.6.0)

Skin Options

Hatramin'ny dikan-teny 2.6.0 dia misy Safidy hanamboarana ny hoditra naorina. Miankina amin'ny hoditra manokana dia azonao atao ny mametraka ny loko fototra, ny lokon'ny lahatsoratra ary ny aloky ny lahatsoratra. Tsy maintsy mampiasa CSS custom properties ianao araka ny hitanao eto:

<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>

Jereo eto ny fari-pahalalana tohanana sy ny sanda default ho an'ny hoditra tsirairay:

gridzySkinClassic
VariableSanda DefaultInformation
--backgroundrgba(0, 0, 0, .7)mamela ny sanda fototra CSS rehetra
--colorrgb(255, 255, 255)mamela ny sandan'ny loko CSS rehetra
--text-shadownonemamela ny sandan'ny alokaloka CSS rehetra
gridzySkinFullOverlay
VariableSanda DefaultInformation
--backgroundrgba(0, 0, 0, .7)mamela ny sanda fototra CSS rehetra
--colorrgb(255, 255, 255)mamela ny sandan'ny loko CSS rehetra
--text-shadownonemamela ny sandan'ny alokaloka CSS rehetra
gridzySkinLift
VariableSanda DefaultInformation
--backgroundrgba(0, 0, 0, .7)mamela ny sanda fototra CSS rehetra
--colorrgb(255, 255, 255)mamela ny sandan'ny loko CSS rehetra
--text-shadow0 0 10px rgb(0, 0, 0), 0 0 20px rgb(0, 0, 0), 0 0 30px rgb(0, 0, 0)mamela ny sandan'ny alokaloka CSS rehetra
gridzySkinMagnifier
VariableSanda DefaultInformation
--backgroundrgba(0, 0, 0, .7)mamela ny sanda fototra CSS rehetra
--colorrgb(255, 255, 255)mamela ny sandan'ny loko CSS rehetra

Ity hoditra ity dia tsy manohana --text-shadow

gridzySkinBlur
VariableSanda DefaultInformation
--backgroundrgba(0, 0, 0, .7)mamela ny sanda fototra CSS rehetra
--colorrgb(255, 255, 255)mamela ny sandan'ny loko CSS rehetra
--text-shadow0 0 10px rgb(0, 0, 0)mamela ny sandan'ny alokaloka CSS rehetra
gridzySkinCard
VariableSanda DefaultInformation
--backgroundrgba(0, 0, 0, 1)mamela ny sanda fototra CSS rehetra
--colorrgb(255, 255, 255)mamela ny sandan'ny loko CSS rehetra
--text-shadownonemamela ny sandan'ny alokaloka CSS rehetra

Ny hoditra rehetra efa voafaritra mialoha dia tsy manohana afa-tsy lohateny an-tsoratra tsotra. Azonao atao ny mamorona ny hoditrao manokana sy sarotra kokoa. Mba jereo ny Style Gridzy .

Style Gridzy

Raha tsy misy hoditra voafaritra mialoha mifanaraka amin'ny filanao dia azonao atao ny manamboatra ny anao manokana.

Ny fomba tsotra indrindra dia ny mandika ny hoditra efa misy ary mampifanaraka izany amin'ny filanao manokana. Ny skin gridzySkinBlank efa voafaritra mialoha dia matetika manome fototra tsara ary koa antontan-taratasy tsara ao amin'ny rakitra 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;
}

Ao amin'ny rakitra CSS dia ho hitanao ny kilasy gridzySkinBlank , gridzyImage ary gridzyCaption . Tsy mila ireo kilasy ireo mihitsy i Gridzy. Ampiasaina amin'ny fanaingoana fotsiny izy ireo ary azonao atao ny manala na manova anarana raha tianao.

Ho hitanao koa ny kilasy CSS gridzyItem . Gridzy dia mametraka ho azy ity kilasy ho an'ny ankizy mivantana rehetra amin'ny singa fitahirizana lehibe. Noho izany, azonao atao ny mampiasa ity kilasy ity mba hamolavolana ireo singa ao amin'ny galerianao.

Hevero ny zava-dehibe

  1. Ny votoatin'ny singa dia tokony hamaly tanteraka. Hevero fa hiova tokoa ny haben'ny singa. Ampiasao ny sanda isan-jato fa tsy ny sanda pixel. Ary jereo ny safidy Gridzy layout autoFontSize , izay mamatotra ny haben'ny endritsoratra amin'ny haben'ny boaty.
  2. Ny singa tsirairay dia tokony hanana aspect ratio voafaritra tsara. Tsy hiova na oviana na oviana ny tahan'ny endrik'ilay singa ary ilaina amin'ny kajy ny tady. Koa raha toa ka tsy manana aspect ratio voafaritra tsara ny singa iray, dia farito amin'ny tanana izany (oh amin'ny alalan'ny css).

Amin'ny toe-javatra sasany, mety ho mora kokoa ny manamboatra ny votoatin'ny singa alohan'ny hanombohan'i Gridzy. Esory fotsiny ny class gridzy na ny rakitra javascript Gridzy vonjimaika ho an'ity.

Dia izay! Izay ihany no ilainao hanamboarana ny hoditrao manokana. Ny ankamaroan'ny hoditra efa voafaritra mialoha dia tsy mampiasa mihoatra noho izany.

Saingy mety hisy bebe kokoa raha tianao…

Advanced Skins

Gridzy dia mampiasa kilasy CSS bebe kokoa noho ny gridzyItem . Ny ankamaroan'izy ireo dia hapetraka ho azy ary azonao ampiasaina amin'ny famolavolana koa.

Kilasy kaontenera lehibe

Anaran'ny kilasyDescription
gridzy
hametraka tanana
Gridzy dia mahita singa miaraka amin'ity kilasy ity ary manomboka azy ireo.
gridzyAnimatedHapetraka ho azy raha true ny safidy animate . Raha apetraka amin'ny tanana io kilasy io, dia ho true ho azy koa ny safidy animate (afa-tsy raha apetraka mazava ho false ).

Kilasy entana

Anaran'ny kilasyDescription
gridzyItemHapetraka raha vao manomboka ny dingana fanombohana ilay singa. Tsy hesorina mihitsy.
gridzyItemInitializingHapetraka raha vao manomboka ny dingana fanombohana ilay singa. Hosoloina gridzyItemReady raha vao manomboka tanteraka ilay singa. Tsy midika akory hoe feno feno ny sary (jereo gridzyItemLoading ), fa efa vonona ny ho hita ny singa.
gridzyItemReadyHanolo ny gridzyItemInitializing raha vao manomboka tanteraka ilay singa. Tsy hesorina mihitsy. Tsy midika akory izany fa ny sary dia feno feno (jereo gridzyItemComplete ), fa ny singa dia vonona ny ho hita.
gridzyItemLoadingHapetraka raha vao manomboka ny dingana fanombohana ilay singa. Hosoloina gridzyItemComplete raha vao feno feno ny sary voarakitra (matetika iray ihany).
gridzyItemCompleteHanolo ny gridzyItemLoading raha vao feno ny sary voarakitra (matetika iray ihany). Tsy hesorina mihitsy.
gridzyItemInitialToVisibleHapetraka raha vao manomboka miseho voalohany ilay entana. Esorina raha vao hita tanteraka ilay entana.
gridzyItemVisibleHapetraka raha vao hita tanteraka ilay entana. Esorina raha vao manomboka manjavona ilay entana.
gridzyItemVisibleToHiddenHapetraka raha vao manomboka manjavona ilay entana. Esorina raha vao afenina tanteraka ilay entana.
gridzyItemHiddenHapetraka raha vao afenina tanteraka ilay entana. Esorina raha vao manomboka miseho ilay entana.
gridzyItemHiddenToVisibleHapetraka raha vao manomboka miseho ilay singa (afa-tsy ny fisehoana voalohany – jereo ny class gridzyItemInitialToVisible ). Esorina raha vao hita tanteraka ilay entana.
gridzyItemVisibleToVisibleHapetraka raha vantany vao misy zavatra ao amin'ny grid niova, fa ilay singa mihitsy no ary mijanona ho hita. Esorina raha vao vita ny animation fanovana.

Amin'ny alàlan'ny default dia voafaritr'ny Gridzy main CSS rakitra ny famantarana ny fizotrany sy ny sary mihetsika ho an'ny sary miseho sy manjavona.

Miaraka amin'ireo kilasy CSS voalaza etsy ambony ireo dia azonao atao ny manamboatra ny mari-pamantarana sy ny sary mihetsika. Sahia mijery ny fisie CSS lehibe Gridzy, mba hahafantaranao izay tokony hohadinoinao. Tsy misy tahotra, voarakitra tsara ao ny zava-drehetra.

Optimize Loading

Raha mampiasa sary maro ianao, dia mety ho hevitra tsara ny manampy an'i Gridzy amin'ny fananganana haingana kokoa ny grid.

Misoroka sary mitsambikina

Tena ilain'ny Gridzy ny tahan'ny lafiny amin'ny sary rehetra mba hanombanana ny grid. Ireo zava-misy ireo dia miteraka singa mitsambikina raha misy sary vonona ary ny sasany tsy vonona. Arakaraka ny misy sary dia mahasosotra kokoa ity vokatra ity.

Mba hisorohana an'io fihetsika io dia apetraho fotsiny ny toetran'ny width sy height ho an'ny singa img rehetra. Zava-dehibe ny mametraka ny soatoavina marina ho an'ny sary tsirairay, raha tsy izany dia hivadika ny sary. Ny sanda marina dia ny sakany sy ny haavon'ny sary tsirairay avy:

<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>

Avy eo i Gridzy dia afaka manao kajy avy hatrany ny grid nefa tsy mila mahafantatra ny tena haben'ny sary.

Lazy Loading

Mba hampidirana sary ao amin'ny seranan-tsambo hita maso ihany, araho ireto dingana ireto:

  1. Ampidiro ny toetran'ny width sy height araka ny voalaza etsy ambony (ataovy tsara ny fampiasana ny soatoavina marina)
  2. Soloy amin'ny data-gridzylazysrc ny toetra src rehetra araka ny aseho etsy ambany (raha manana toetra srcset koa ianao dia soloy 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>

Aorian'ireo dingana ireo dia hiakatra ny sary raha vao akaiky na ao anatin'ny seranan-tsambo.

Famantarana ny dingana

Ny famantarana ny fizotrany dia ilay kisary kely mihetsiketsika mipoitra eo am-pamakiana ny sary. Raha mampiasa captions & skins ianao, dia haseho ho azy ny famantarana ny fizotrany. Raha tsy izany dia mila fanitsiana vitsivitsy ianao:

  1. Apetraho ao anaty singa div ny singa img tsirairay
    (na amin'ny singa hafa - jereo HTML semantika raha mila fanazavana fanampiny)
  2. Ampio ny class gridzyImage amin'ny singa img tsirairay
<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>

Aorian'izay dia tokony ho hitanao ny famantarana ny dingana raha toa ka maka fotoana ny sary.

sivana

Ny sivana ao amin'ny Gridzy dia tsotra nefa matanjaka. Na inona na inona karazana sivana ilainao dia azo inoana fa azo tanterahina izany. Ny hany ilainao dia, CSS kely ary singa HTML vitsivitsy ...

Ity misy ohatra iray miasa:

<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>

Andao hamboarina tsikelikely

1. Voalohany dia mila ny rafitra HTML mahazatra an'ny Gridzy isika ary mametraka ny anaran'ny kilasy ho an'ny singa rehetra ao amin'ny galeria mba ahafahantsika manivana azy ireo avy eo

<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>

Amin'ity ohatra ity dia tsy mampiasa kilasy iray ho an'ny singa tsirairay isika. Saingy azonao atao koa ny mametraka kilasy maromaro ho an'ny singa iray, raha toa ka tokony ho hita amin'ny alalan'ny sivana maromaro io singa io.

2. Avy eo dia manampy bokotra vitsivitsy izay ahafahantsika manova ny sivana avy eo

<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>

Ho solon'ny bokotra, azonao atao koa ny mampiasa singa endrika hafa toy ny boaty, bokotra radio, saha mifantina sy ny sisa.

Araka ny hitanao, ny sandan'ny bokotra dia mpisafidy CSS mahazatra. Raha vantany vao vita izahay, tsindrio eo amin'ny bokotra toy izany dia hampiseho ireo sary mifanaraka amin'io CSS selector io. Ara-teknika dia mametraka fotsiny ny safidy filter amin'io sanda io.

Azonao atao koa ny mampiasa mpifidy sarotra kokoa. Ohatra :not(.animals) dia mety hiasa koa, ary koa .animals.people sy .animals, .people .

3. Farany, ampidirintsika ao anaty container div ny bokotra ary afatotra amin'ny galerie Gridzy, amin'ny fametrahana ny safidy 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>

Araka ny hitanao dia mampiasa mpifidy CSS ihany koa izahay ho an'ny safidy filterControls . Ny kaontenera div miaraka amin'ny toetra id dia natao hanamora ny fisafidianana ny bokotra amin'ny alàlan'ny CSS selector.

Dia izay!

Raha tianao ny vahaolana JavaScript dia jereo ny API .

API

Na dia manana API manokana aza i Gridzy, ny ankamaroan'ny zavatra dia azo atao raha tsy misy izany, amin'ny alàlan'ny fanodikodinana ny DOM fotsiny. Ho hitan'i Gridzy izany ary hanitsy ny grid. Saingy misy ihany koa ny API mahery vaika…

Manipulating ny DOM

Ho an'ny fanodikodinana Document Object Model (DOM) dia ilaintsika aloha ny singa container:

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

Ampio sary

Zava-dehibe ny manangana sy mameno tanteraka ny singa zaza vaovao alohan'ny hampidiranao azy amin'ny singa container. Raha tsy izany dia tsy afaka mamantatra ny refy marina i Gridzy.

// 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);

Esory sary

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

Change Options

// 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');

Bebe kokoa momba ny fanodikodinana ny DOM azonao jerena ao amin'ny MDN web docs . Misy ihany koa ny Fampidirana ny DOM misy.

API proprietary

Raha hampiasa ny API dia mila ny ohatra Gridzy aloha isika, izay mifatotra amin'ny singa fitoeran'entana Gridzy:

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

Get Option

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

Raiso ny safidy rehetra

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

Set Options

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

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

Ampiharo ny sivana

Ny fampiharana sivana dia mametraka fotsiny ny filter safidy izay mety ho mpifidy CSS manan-kery:

// 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'
});

Ampio ny Callback Functions

DEPRECATED hatramin'ny version 2.4.0
Ampiasao kosa ny hetsika maoderina sy mora kokoa. Jereo ny fizarana manaraka raha mila fanazavana fanampiny.

Ny Gridzy.js 2 dia manohana ny safidy sasany ho an'ny asa famerenana. Tsy azo apetraka amin'ny alàlan'ny API proprietary ihany izy ireo, fa toy ny safidy hafa:

// 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.
  }
});
Description
onBeforeOptionsChangedFampiasa antso an-tariby izay antsoina mivantana alohan'ny hametrahana safidy.
onOptionsChangedFampiasa callback izay antsoina mivantana aorian'ny fametrahana safidy.
onBeforeRenderFampiasa antso an-tariby izay antsoina mivantana alohan'ny fandefasana.
onRenderFampiasa antso an-tariby izay antsoina mivantana aorian'ny famoahana.

Mampiasà hetsika

hatramin'ny version 2.4.0

Azonao atao ny mampiasa hetsika Gridzy mitovy amin'ny hetsika JavaScript mahazatra:

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.
});

Ny hetsika sasany dia alefa amin'ny singa Gridzy container ary hetsika hafa dia alefa amin'ny singa tsirairay ao anatin'ilay singa container.

Hetsika nipoaka tamin'ny singa fitoeran'entana Gridzy:

Description
gridzyBeforeInitMirehitra alohan'ny fanombohana ny galeria.
gridzyInitNirehitra taorian'ny fanombohana ny galeria.
gridzyBeforeOptionsChangedMirehitra alohan'ny hametrahana safidy.
gridzyOptionsChangedMirehitra aorian'ny fametrahana safidy.
gridzyBeforeRenderAfo alohan'ny hanaovana.
gridzyRenderAfo aorian'ny fandefasana.
Raha tsy mahita hetsika eto ianao dia alefaso fangatahana fanohanana .

event.target dia manome ny singa fitoeran'entana Gridzy.
event.detail.instance dia manome ny ohatra Gridzy.

Hetsika nipoitra tamin'ny singa singa:

Description
gridzyItemBeforeInitMirehitra alohan'ny fanombohana singa.
gridzyItemInitMirehitra aorian'ny fanombohana singa.
gridzyItemLoadingMirehitra rehefa manomboka mampiditra ilay entana.
gridzyItemReadyMirehitra rehefa vonona amin'ny kajy kisary ilay entana. Noho izany dia fantatra ny aspect ratio, fa ny sary dia mety mbola mi-loading.
gridzyItemCompleteMirehitra rehefa feno tanteraka ilay sary.
Raha tsy mahita hetsika eto ianao dia alefaso fangatahana fanohanana .

event.target dia manome ny singa singa tsirairay.
event.detail.instance dia manome ny ohatra Gridzy.

API - Global

Misy fiasa sasany tsy miankina amin'ny tranga Gridzy. Ka tsy mila maka ohatra aloha isika.

Get Default Option

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

Raiso ny safidy Default rehetra

// 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');

Mametraka Safidy Default

Tsy mametraka ny safidy amin'ny tranga Gridzy rehetra efa natomboka izany, fa mamaritra ny fototry ny tranga vaovao. Na izany aza, raha misy safidy amin'ny ohatra efa misy dia averina amin'ny alàlan'ny sanda null , dia hampiasa ny sanda default vaovao izany.

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

Azonao atao ny mampiasa an'io mba hametrahana safidy eran-tany, raha miantso azy alohan'ny hiomanana ny DOM. Ka tsy mila mametraka safidy ho toetra intsony ianao.

Automatisms

Raha mbola mavitrika daholo ny automatisms an'ny Gridzy.js 2, tsy ilaina ny fomba etsy ambany. Fa ny automatisms dia azo vonoina hampiasa Gridzy amin'ny fomba mahazatra kokoa:

// 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
});

Ny sasany amin'ireo safidy ireo dia tsy azo apetraka amin'ny alàlan'ny data-gridzy- attributes na amin'ny setOptions() , noho ny antony lojika:

Sanda DefaultDescription
autoInitOnDomReadytrueMamantatra singa misy gridzy kilasy amin'ny fampidinana pejy ary manomboka azy ireo.

Azo apetraka amin'ny alàlan'ny Gridzy.setDefaultOptions()
autoInitOnDomMutation
MutationObserver
trueMamantatra singa vaovao miaraka amin'ny gridzy kilasy raha vao miseho ao amin'ny DOM izy ireo ary manomboka azy. (ohatra amin'ny fampiasana fifindrana pejy)

Azo apetraka amin'ny alàlan'ny Gridzy.setDefaultOptions()
autoSyncChildListMutation
MutationObserver
trueMamantatra raha ampiana na esorina ny singa ankizy (sary) ary manavao ho azy ny grid.

Azo apetraka amin'ny alàlan'ny data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
useOptionAttributestrueMamaritra raha ampiasaina amin'ny ankapobeny na tsia ny toetran'ny data-gridzy- . Raha false izany safidy izany dia azo apetraka amin'ny alàlan'ny API tompon-tany ihany.

Azo apetraka amin'ny alàlan'ny new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoSyncAttributesMutation
MutationObserver
trueMamantatra ny fiovan'ny toetran'ny data-gridzy- , ary manavao ho azy ny grid. Hita ihany koa raha ampiana na esorina ny kilasin'ny gridzyAnimated ary raha misy fiovan'ny toetran'ny style . Raha false ny useOptionAttributes , dia tsy hita afa-tsy ny fiovan'ny style mampiavaka azy.

Azo apetraka amin'ny alàlan'ny data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoSyncChildClassMutation
MutationObserver
trueMamantatra ny fiovan'ny toetran'ny class amin'ny singa ankizy rehetra (sary). Mifanaraka amin'ny sivana.

Azo apetraka amin'ny alàlan'ny data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoSyncImageMutation
MutationObserver

hatramin'ny version 2.5.0
trueMamantatra ny fiovan'ny toetra src amin'ny sary rehetra. Mifanaraka rehefa ampiasaina amin'ny React na tranomboky mitovitovy.

Azo apetraka amin'ny alàlan'ny data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()
autoRenderOnResize
ResizeObserver

hatramin'ny version 2.6.0
trueMamantatra ny fiovan'ny sakan'ny singa. Mifanaraka amin'ny famolavolana mamaly. (Talohan'ny dikan-teny 2.6.0 dia nampiasaina ny mpihaino hetsika fanovana haben'ny varavarankely)

Azo apetraka amin'ny alàlan'ny data-grizy- , new Gridzy() , setOptions() , Gridzy.setDefaultOptions()

Atombohy amin'ny tanana

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

Ravao ny ohatra

Raha ny marina, ny mifanohitra amin'ny fanombohana an'i Gridzy.

gridzyInstance.destroy();
gridzyInstance = null;

Ampifanaraho amin'ny tanana ny lisitry ny ankizy

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

Ampifanaraho amin'ny tanana ny singa zaza tokana

Matetika tsy ilaina, afa-tsy amin'ny tranga tena tsy fahita firy.

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

Ampifanaraho amin'ny tanana ny toetra

Mariho fa ny safidy useOptionAttributes dia tsy maintsy true amin'izany.

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

Force Rendering

Matetika dia tsy ilaina, na dia vonoina aza ny automatisme rehetra

gridzyInstance.render();