Вебсайт ба таври худкор тарҷума шудааст. Агар чизе равшан набошад, лутфан ба ҳуҷҷатҳои англисӣ нигаред.
Истифодаи асосӣ
Файлҳои Gridzy-ро ба сервери худ бор кунед ва онҳоро ба вебсайти худ илова кунед (одатан дар қисми сар):
<link rel="stylesheet" href="gridzy/gridzy.min.css" />
<script src="gridzy/gridzy.min.js"></script>Рамзи HTMLро илова кунед (дар ҳама ҷо дар қисмати бадан):
<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>Ана тамом! Ин як мисоли комилан функсионалӣ аст. Ҳеҷ гуна оғозкунии иловагӣ талаб карда намешавад.
Конфигуратсия
Роҳи осонтарини танзими Gridzy ин танҳо истифодаи атрибутҳои HTML мебошад. Шумо танҳо лозим аст, ки номҳои опсияро бо data-gridzy- префикс кунед. Ҳамин тавр, барои гузоштани опсияи spaceBetween , танҳо атрибути 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>Имконоти асосӣ
Justified Имконоти тарҳрезӣ
Waterfall Имконоти тарҳрезӣ
Имконоти бештар пешрафта
Барои имконоти бештар пешрафта, API-ро санҷед.
HTML семантикӣ
Сохтори соддатарини HTML-и Gridzy ин аст:
<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>Аммо, Gridzy хеле чандир аст ва шумо метавонед қариб ҳама сохтори HTML-ро истифода баред. Танҳо чанд нуктаро бояд баррасӣ кард:
- Ҳар як кӯдаки унсури контейнер як ададро дар шабака ифода мекунад.
- Ҳам унсури контейнер ва ҳам фарзандони он метавонанд ҳама гуна тег бошанд, ба монанди
ulваli(танҳо барои аз нав барқарор кардани пешфарзҳои браузер фикр кунед). - Агар унсури
imgхуди кӯдаки мустақим набошад, он ба синфиgridzyImageниёз дорад.
Ҳамин тавр, ин инчунин сохтори кории 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>Махсусан, агар шумо хоҳед, ки сарлавҳаҳо илова кунед, ба шумо сохтори пешрафтаи HTML лозим аст. Барои гирифтани маълумоти бештар дар бораи он, ба Captions & Skins нигаред.
Сарлавҳаҳо ва пӯстҳо
Агар шумо хоҳед, ки ба галереяи худ сарлавҳаҳо илова кунед, шумо бояд намуди зоҳириро муайян кунед. Аз ин рӯ, баъзе пӯстҳои пешакӣ муайяншуда мавҷуданд. Ҳар як пӯст аз файли CSS иборат аст. Шумо бояд ин файлро илова ба файлҳои асосии Gridzy илова кунед (одатан дар қисмати сар):
<link rel="stylesheet" href="gridzy/skins/gridzySkinClassic/style.min.css" />Ғайр аз он, ба шумо сохтори пешрафтаи 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>Агар шумо дар бораи сохтори HTML дар ҳайрат бошед, ба семантикии HTML нигаред.
Барои сарлавҳа шумо метавонед ҳама гуна тегро истифода баред, танҳо боварӣ ҳосил кунед, ки он дорои синфи gridzyCaption . Унсури img ба синфи gridzyImage ниёз дорад.
Мисоли боло ба шумо пӯсти gridzySkinClassic нишон медиҳад. Барои истифодаи дигаре, танҳо номи пӯстро бо яке аз инҳо иваз кунед:
Пӯстҳои дохилшуда
| Синфҳои дастрас | |
|---|---|
| gridzySkinBlank нуқтаи ибтидоии хуб барои эҷоди пӯсти худ пешнамоиши зинда | gridzySkinBlank |
| gridzySkinClassic пешнамоиши зинда | gridzySkinClassic(Аз версияи 2.6.0 КАТОР ШУД) |
| gridzySkinFullOverlay пешнамоиши зинда | gridzySkinFullOverlay(Аз версияи 2.6.0 КАТОР ШУД) |
| gridzySkinLift пешнамоиши зинда | gridzySkinLift(Аз версияи 2.6.0 КАТОР ШУД) |
| gridzySkinMagnifier функсияи масштаб дохил карда нашудааст пешнамоиши зинда | gridzySkinMagnifier(Аз версияи 2.6.0 КАТОР ШУД) |
Ҳама пӯстҳои дар боло зикршуда танҳо ба файли CSS ниёз доранд, аммо пӯстҳои иловагӣ мавҷуданд, ки файли JavaScript-ро низ талаб мекунанд:
<link rel="stylesheet" href="gridzy/skins/gridzySkinBlur/style.min.css" />
<script src="gridzy/skins/gridzySkinBlur/script.min.js"></script>| Синфҳои дастрас | |
|---|---|
| gridzySkinBlur дар IE кор намекунад пешнамоиши зинда | gridzySkinBlur(Аз версияи 2.6.0 КАТОР ШУД) |
| gridzySkinCard пешнамоиши зинда | gridzySkinCard(Аз версияи 2.6.0 КАТОР ШУД) |
Имконоти пӯст
Аз версияи 2.6.0 Имкониятҳо барои танзими пӯстҳои дарунсохт мавҷуданд. Вобаста аз пӯсти мушаххас шумо метавонед ранги замина, ранги матн ва сояи матнро таъин кунед. Шумо танҳо бояд хосиятҳои фармоишии CSS-ро истифода баред, тавре ки дар ин ҷо мебинед:
<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>Тағирёбандаҳои дастгирӣшаванда ва арзишҳои пешфарзро барои ҳар як пӯст дар ин ҷо санҷед:
gridzySkinClassic
| Тағйирёбанда | Арзиши пешфарз | Маълумот |
|---|---|---|
--background | rgba(0, 0, 0, .7) | имкон медиҳад, ки ҳар як арзиши заминаи CSS |
--color | rgb(255, 255, 255) | ба ҳама гуна арзиши ранги CSS имкон медиҳад |
--text-shadow | none | ба ҳама гуна арзиши сояи матни CSS имкон медиҳад |
gridzySkinFullOverlay
| Тағйирёбанда | Арзиши пешфарз | Маълумот |
|---|---|---|
--background | rgba(0, 0, 0, .7) | имкон медиҳад, ки ҳар як арзиши заминаи CSS |
--color | rgb(255, 255, 255) | ба ҳама гуна арзиши ранги CSS имкон медиҳад |
--text-shadow | none | ба ҳама гуна арзиши сояи матни CSS имкон медиҳад |
gridzySkinLift
| Тағйирёбанда | Арзиши пешфарз | Маълумот |
|---|---|---|
--background | rgba(0, 0, 0, .7) | имкон медиҳад, ки ҳар як арзиши заминаи CSS |
--color | rgb(255, 255, 255) | ба ҳама гуна арзиши ранги CSS имкон медиҳад |
--text-shadow | 0 0 10px rgb(0, 0, 0), 0 0 20px rgb(0, 0, 0), 0 0 30px rgb(0, 0, 0) | ба ҳама гуна арзиши сояи матни CSS имкон медиҳад |
gridzySkinMagnifier
| Тағйирёбанда | Арзиши пешфарз | Маълумот |
|---|---|---|
--background | rgba(0, 0, 0, .7) | имкон медиҳад, ки ҳар як арзиши заминаи CSS |
--color | rgb(255, 255, 255) | ба ҳама гуна арзиши ранги CSS имкон медиҳад |
Ин пӯст --text-shadow дастгирӣ намекунад
gridzySkinBlur
| Тағйирёбанда | Арзиши пешфарз | Маълумот |
|---|---|---|
--background | rgba(0, 0, 0, .7) | имкон медиҳад, ки ҳар як арзиши заминаи CSS |
--color | rgb(255, 255, 255) | ба ҳама гуна арзиши ранги CSS имкон медиҳад |
--text-shadow | 0 0 10px rgb(0, 0, 0) | ба ҳама гуна арзиши сояи матни CSS имкон медиҳад |
gridzySkinCard
| Тағйирёбанда | Арзиши пешфарз | Маълумот |
|---|---|---|
--background | rgba(0, 0, 0, 1) | имкон медиҳад, ки ҳар як арзиши заминаи CSS |
--color | rgb(255, 255, 255) | ба ҳама гуна арзиши ранги CSS имкон медиҳад |
--text-shadow | none | ба ҳама гуна арзиши сояи матни CSS имкон медиҳад |
Ҳама пӯстҳои пешакӣ муайяншуда танҳо сарлавҳаҳои оддии матнро дастгирӣ мекунанд. Шумо метавонед пӯстҳои хеле мураккаби худро эҷод кунед. Лутфан ба Style Gridzy назар андозед.
Style Gridzy
Агар ягон пӯсти пешакӣ муайяншуда ба ниёзҳои шумо мувофиқат накунад, шумо метавонед пӯсти худро ороиш диҳед.
Роҳи осонтарин ин аст, ки аввал пӯсти мавҷударо нусхабардорӣ кунед ва онро ба ниёзҳои худ мутобиқ кунед. gridzySkinBlank пӯсти пешакӣ муайяншуда одатан заминаи хуб ва инчунин ҳуҷҷатҳои хубро дар файли 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;
}Дар файли CSS шумо синфҳои gridzySkinBlank , gridzyImage ва gridzyCaption хоҳед ёфт. Худи Gridzy ба ин синфҳо ниёз надорад. Онҳо танҳо барои ороиш истифода мешаванд ва аз ин рӯ, агар хоҳед, шумо метавонед онҳоро хориҷ кунед ё номи онҳоро тағир диҳед.
Илова бар ин, шумо синфи CSS-ро хоҳед ёфт gridzyItem . Gridzy ин синфро ба таври худкор ба ҳамаи кӯдакони мустақими унсури контейнери асосӣ муқаррар мекунад. Ҳамин тавр, шумо метавонед ин синфро барои услуби ҷузъҳои галереяи худ истифода баред.
Чизҳои муҳимро фикр кунед
- Мундариҷаи ашё бояд пурра ҷавобгӯ бошад. Ба назар гиред, ки андозаи элемент бешубҳа тағир хоҳад ёфт. Ба ҷои арзишҳои пиксел арзишҳои фоизро истифода баред. Ва ба варианти тарҳбандии Gridzy
autoFontSizeнигаред, ки андозаи шрифтро ба андозаи қуттии ашё мепайвандад. - Ҳар як ашё бояд таносуби ҷанбаҳои хуб муайяншуда дошта бошад. Таносуби ҷанбаҳои ашё ҳеҷ гоҳ тағир намеёбад ва барои ҳисоб кардани шабака зарур аст. Ҳамин тавр, агар ашё ба таври худкор таносуби ҷанбаҳои хуб муайяншуда надошта бошад, онро дастӣ муайян кунед (масалан, тавассути css).
Дар баъзе мавридҳо, пеш аз оғоз кардани Gridzy услуби мундариҷаи ашёро осонтар кардан мумкин аст. Барои ин танҳо синфи gridzy ё файли javascript Gridzy-ро муваққатан хориҷ кунед.
Ана тамом! Ин ҳама чизест, ки ба шумо барои сохтани пӯсти шахсии худ лозим аст. Аксари пӯстҳои пешакӣ муайяншуда аз ин бештар истифода намебаранд.
Аммо агар ба шумо маъқул бошад, метавонад бештар бошад ...
Пӯстҳои пешрафта
Gridzy бештар дарсҳои CSS-ро истифода мебарад, на танҳо gridzyItem . Аксарияти онҳо ба таври худкор насб карда мешаванд ва шумо метавонед онҳоро барои ороиш низ истифода баред.
Синфҳои асосии контейнерҳо
| Номи синф | Тавсифи |
|---|---|
gridzyба таври дастй таъин кардан | Gridzy ба таври худкор унсурҳоро бо ин синф пайдо мекунад ва онҳоро оғоз мекунад. |
gridzyAnimated | Агар опсияи animate true бошад, ба таври худкор муқаррар карда мешавад. Агар ин синф ба таври дастӣ муқаррар карда шавад, опсияи animate низ ба таври худкор true мешавад (ба истиснои агар он ба таври возеҳ ба false таъин шуда бошад). |
Синфҳои ашё
| Номи синф | Тавсифи |
|---|---|
gridzyItem | Ҳамин ки ҷузъ раванди оғозёбиро оғоз мекунад, муқаррар карда мешавад. Ҳеҷ гоҳ хориҷ карда намешавад. |
gridzyItemInitializing | Ҳамин ки ҷузъ раванди оғозёбиро оғоз мекунад, муқаррар карда мешавад. Ҳамин ки ашё пурра оғоз мешавад, бо gridzyItemReady иваз карда мешавад. Ин маънои онро надорад, ки тасвирҳо пурра бор карда шудаанд (ниг. gridzyItemLoading ), аммо ашё барои намоён шудан омода аст. |
gridzyItemReady | Вақте ки ашё пурра оғоз мешавад, gridzyItemInitializing иваз мекунад. Ҳеҷ гоҳ хориҷ карда намешавад. Ин маънои онро надорад, ки тасвирҳо пурра бор карда шудаанд (ниг. gridzyItemComplete ), аммо ашё барои намоён шудан омода аст. |
gridzyItemLoading | Ҳамин ки ҷузъ раванди оғозёбиро оғоз мекунад, муқаррар карда мешавад. Ҳамин ки тасвирҳои дарбаргиранда (одатан танҳо як) пурра бор карда мешаванд, бо gridzyItemComplete иваз карда мешавад. |
gridzyItemComplete | Вақте ки тасвирҳои дарбаргиранда (одатан танҳо як) пурра бор карда мешаванд, gridzyItemLoading иваз мекунад. Ҳеҷ гоҳ хориҷ карда намешавад. |
gridzyItemInitialToVisible | Ҳамин ки ашё бори аввал пайдо мешавад, муқаррар карда мешавад. Ҳамин ки ашё пурра намоён мешавад, хориҷ карда мешавад. |
gridzyItemVisible | Ҳамин ки ашё пурра намоён мешавад, муқаррар карда мешавад. Ҳамин ки ашё аз байн меравад, хориҷ карда мешавад. |
gridzyItemVisibleToHidden | Ҳамин ки адад нопадид мешавад, муқаррар карда мешавад. Ҳамин ки ашё комилан пинҳон мешавад, хориҷ карда мешавад. |
gridzyItemHidden | Ҳамин ки ашё комилан пинҳон мешавад, муқаррар карда мешавад. Ҳамин ки ашё пайдо мешавад, хориҷ карда мешавад. |
gridzyItemHiddenToVisible | Ҳамин ки ашё пайдо мешавад, муқаррар карда мешавад (ба истиснои пайдоиши бори аввал – ба синфи gridzyItemInitialToVisible нигаред). Ҳамин ки ашё пурра намоён мешавад, хориҷ карда мешавад. |
gridzyItemVisibleToVisible | Ҳамин ки чизе дар шабака тағир ёфт, муқаррар карда мешавад, аммо худи ашё буд ва намоён боқӣ мемонад. Ҳамин ки аниматсияи тағирот ба охир мерасад, хориҷ карда мешавад. |
Бо нобаёнӣ нишондиҳандаи раванд ва аниматсияҳо барои пайдо ва нопадидшавии тасвирҳо аз ҷониби файли асосии CSS Gridzy пешакӣ муайян карда мешаванд.
Бо ин синфҳои дар боло зикршудаи CSS, шумо метавонед нишондиҳандаи раванд ва аниматсияҳои худро услуб кунед. Ҷуръат кунед, ки ба файли асосии CSS Gridzy назар кунед, то бифаҳмед, ки шумо чиро бояд бекор кунед. Тарс нест, дар он ҷо ҳама чиз хуб ҳуҷҷатгузорӣ шудааст.
Оптимизатсияи боркунӣ
Агар шумо тасвирҳои зиёдро истифода баред, он метавонад фикри хубе бошад, ки ба Gridzy дар сохтани шабака зудтар кӯмак кунад.
Пешгирии Ҷаҳиш Тасвирҳо
Gridzy барои ҳисоб кардани шабака комилан ба таносуби ҷанбаҳои ҳамаи тасвирҳо ниёз дорад. Ин далел боиси ҷаҳиши унсурҳо мегардад, агар баъзе тасвирҳо омода бошанд ва дигарон не. Чӣ қадаре ки тасвирҳо зиёд бошанд, ин таъсир метавонад ҳамон қадар озори бештар дошта бошад.
Барои пешгирии ин рафтор, танҳо атрибутҳои width ва height барои ҳама унсурҳои img муқаррар кунед. Барои ҳар як тасвири инфиродӣ арзишҳои дуруст муқаррар кардан муҳим аст, вагарна тасвирҳо таҳриф мешаванд. Арзишҳои дуруст паҳнои аслӣ ва баландии тасвири мувофиқ мебошанд:
<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>Пас аз он Gridzy метавонад бе зарурати донистани андозаи воқеии тасвирҳо шабакаро фавран ҳисоб кунад.
Lazy Loading
Барои бор кардани танҳо тасвирҳое, ки дар равзанаи намоён ҳастанд, танҳо ин қадамҳоро иҷро кунед:
- Хусусиятҳои
widthваheightтавре, ки дар боло тавсиф шудааст, дохил кунед (боварӣ ҳосил кунед, ки арзишҳои дурустро истифода баред) - Ҳама атрибутҳои
srcбоdata-gridzylazysrcтавре дар зер нишон дода шудааст, иваз кунед (агар шумо атрибутҳоиsrcsetдошта бошед, онҳоро бо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>Пас аз ин қадамҳо, тасвирҳо вақте ки онҳо дар наздикӣ ё дар дохили порти намоиш ҷойгиранд, бор карда мешаванд.
Нишондиҳандаи раванд
Нишондиҳандаи раванд тасвири хурди аниматсионӣ мебошад, ки ҳангоми боркунии тасвир пайдо мешавад. Агар шумо сарлавҳаҳо ва пӯстҳоро истифода баред, нишондиҳандаи раванд ба таври худкор нишон дода мешавад. Дар акси ҳол, ба шумо баъзе ислоҳот лозим аст:
- Ҳар як унсури
imgро ба унсуриdivҷойгир кунед
(ё ба ягон унсури дигар - барои маълумоти бештар ба HTML семантикӣ нигаред) - Ба ҳар як унсури
imgсинфиgridzyImageилова кунед
<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>Пас аз он, шумо бояд нишондиҳандаҳои равандро бинед, агар тасвирҳо барои бор кардан вақт гиранд.
Филтрҳо
Филтрҳо дар Gridzy хеле содда, вале пурқувватанд. Новобаста аз он, ки ба шумо чӣ гуна филтр лозим аст, эҳтимол дорад, ки он амалӣ шавад. Ба шумо танҳо лозим аст, ки каме CSS ва чанд унсури формати HTML…
Ин аст як мисоли функсионалӣ:
<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>Биёед онро кадам ба кадам созем
1. Аввалан ба мо сохтори муқаррарии HTML-и Gridzy лозим аст ва номҳои синфро барои ҳама ашёи галерея муқаррар кунем, то мо онҳоро баъдан филтр кунем.
<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>Дар ин мисол мо барои ҳар як элемент танҳо як синф истифода мебарем. Аммо шумо инчунин метавонед якчанд синфҳоро барои як элемент муқаррар кунед, агар ин элемент тавассути филтрҳои сершумор пайдо шавад.
2. Сипас, мо якчанд тугмаҳоро илова мекунем, ки тавассути онҳо мо метавонем филтрҳоро иваз кунем
<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>Ба ҷои тугмаҳо, шумо инчунин метавонед унсурҳои шаклро истифода баред, ба монанди қуттиҳои қайд, тугмаҳои радио, майдонҳои интихоб ва ғайра.
Тавре ки шумо мебинед, арзишҳои тугмаҳо интихобкунандагони муқаррарии CSS мебошанд. Ҳамин ки мо анҷом додем, пахш кардани чунин тугма тасвирҳоеро нишон медиҳанд, ки ба интихоби CSS мувофиқанд. Аз ҷиҳати техникӣ он танҳо имконоти filter ба ин арзиш муқаррар мекунад.
Шумо инчунин метавонед селекторҳои мураккабтарро истифода баред. Масалан :not(.animals) низ кор мекунанд, инчунин .animals.people ва .animals, .people .
3. Ниҳоят, мо тугмаҳоро дар контейнери div печонида, онҳоро ба галереяи Gridzy бо гузоштани опсияи 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>Тавре ки шумо мебинед, мо инчунин интихобкунандаи CSS-ро барои опсияи filterControls истифода мебарем. Контейнери div бо атрибути id танҳо барои осон кардани интихоби тугмаҳо тавассути он селектори CSS хизмат мекунад.
Ана тамом!
Агар шумо ҳалли JavaScript-ро афзалтар донед, API-ро санҷед.
API
Гарчанде ки Gridzy API-и худро дорад, аксари корҳоро бидуни он, танҳо бо истифода аз DOM анҷом додан мумкин аст. Gridzy онро пай мебарад ва шабакаро танзим мекунад. Аммо API-и хеле пурқувват низ вуҷуд дорад ...
Манипуляцияи DOM
Барои ҳама коркардҳои модели объекти ҳуҷҷат (DOM) ба мо аввал элементи контейнер лозим аст:
// get the container element
var gridzyElement = document.querySelector('.gridzy');Иловаи тасвирҳо
Муҳим аст, ки пеш аз илова кардани он ба унсури контейнер, унсури нави кӯдакро пурра сохта ва пур кунед. Дар акси ҳол, 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);Тасвирҳоро нест кунед
// remove the first image
gridzyElement.removeChild(gridzyElement.firstElementChild);Имконотҳоро тағир диҳед
// 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');Маълумоти бештарро дар бораи коркарди DOM, шумо метавонед дар веб ҳуҷҷатҳои MDN пайдо кунед. Инчунин Муқаддима ба DOM мавҷуд аст.
API хусусӣ
Барои истифодаи API, ба мо аввал як мисоли Gridzy лозим аст, ки ба унсури контейнери Gridzy пайваст аст:
// get the Gridzy instance
var gridzyInstance = document.querySelector('.gridzy').gridzy;Опсияро гиред
// get the value of a single option
var currentLayout = gridzyInstance.getOption('layout');Ҳама интихобҳоро гиред
// get all option values as an object
var currentOptions = gridzyInstance.getOptions();Параметрҳоро танзим кунед
// set specific option values
gridzyInstance.setOptions({
spaceBetween: 10,
layout: 'waterfall'
});
// or reset options to their default values
gridzyInstance.setOptions({
spaceBetween: null,
layout: null
});Филтрро татбиқ кунед
Татбиқи филтр танҳо гузоштани filter хосият аст, ки метавонад ягон интихобкунандаи дурусти 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'
});Иловаи Функсияҳои бозгашт
Аз версияи 2.4.0 КАДАР ШУДААСТ
Ба ҷои рӯйдодҳои муосир ва чандиртарро истифода баред. Барои тафсилот ба фасли оянда нигаред.
Gridzy.js 2 баъзе имконоти функсияҳои бозпасро дастгирӣ мекунад. Онҳоро танҳо тавассути API хусусӣ танзим кардан мумкин аст, аммо мисли дигар имконоти:
// 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.
}
});Ҳодисаҳоро истифода баред
аз версияи 2.4.0
Шумо метавонед рӯйдодҳои Gridzy-ро маҳз мисли рӯйдодҳои муқаррарии 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.
});Баъзе рӯйдодҳо дар унсури контейнерии Gridzy ва рӯйдодҳои дигар дар унсурҳои инфиродӣ дар дохили элементи контейнер оташ мегиранд.
Ҳодисаҳое, ки дар унсури контейнери Gridzy рух додаанд:
event.target унсури контейнери Gridzy -ро таъмин мекунад.
event.detail.instance мисоли Gridzy-ро таъмин мекунад.
Ҳодисаҳое, ки дар унсурҳои ҷузъ кор мекунанд:
event.target унсури мувофиқро таъмин мекунад.
event.detail.instance мисоли Gridzy-ро таъмин мекунад.
API - Глобалӣ
Баъзе функсияҳое мавҷуданд, ки аз мисолҳои Gridzy мустақиланд. Аз ин рӯ, ба мо лозим нест, ки қаблан як мисол гирем.
Опсияи пешфарзро гиред
// get the default value of a single option
var defaultLayout = Gridzy.getDefaultOption('layout');Ҳама имконоти пешфарзро гиред
// 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');Имконоти пешфарзро танзим кунед
Ин вариантҳои ҳамаи инстансияҳои Gridzy-ро муқаррар намекунад, балки барои мисолҳои нав асосро муайян мекунад. Аммо, агар варианти намунаи мавҷуда тавассути арзиши null аз нав барқарор карда шавад, он арзиши пешфарзро истифода мебарад.
// set default option values
Gridzy.setDefaultOptions({
spaceBetween: 10,
layout: 'waterfall'
});Шумо метавонед инро барои танзими имконоти ҷаҳонӣ истифода баред, агар шумо онро пеш аз омода шудани DOM даъват кунед. Ҳамин тавр, ба шумо дигар лозим нест, ки вариантҳоро ҳамчун атрибутҳо муқаррар кунед.
Автоматизмхо
То он даме, ки ҳама автоматизмҳои Gridzy.js 2 фаъоланд, ба усулҳои дар поён овардашуда лозим нест. Аммо автоматизмҳоро барои истифодаи Gridzy ба таври анъанавӣ хомӯш кардан мумкин аст:
// 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
});Баъзе аз ин интихобҳоро тавассути атрибутҳои data-gridzy- ё тавассути setOptions() бо сабабҳои мантиқӣ танзим кардан мумкин нест:
Ба таври дастӣ оғоз кунед
// initialize a new Gridzy instance
var gridzyInstance = new Gridzy(document.querySelector('.gridzy'), {
spaceBetween: 10,
layout: 'waterfall'
});Намунаро нест кунед
Тақрибан гуфта мешавад, ки баръакси оғоз кардани Gridzy.
gridzyInstance.destroy();
gridzyInstance = null;Рӯйхати кӯдаконро дастӣ ҳамоҳанг созед
// after child elements (images) are added to or removed from the DOM.
gridzyInstance.syncChildList();Унсури ягонаи кӯдакро ба таври дастӣ ҳамоҳанг созед
Одатан лозим нест, ба истиснои ҳолатҳои хеле кам.
// after child elements (images) are added to the DOM and only one of them should be synced to Gridzy.
gridzyInstance.syncChild(childElement);Синхронизатсияи атрибутҳо ба таври дастӣ
Дар хотир доред, ки опсияи useOptionAttributes барои ин бояд true бошад.
// after data-gridzy- attributes have changed
gridzyInstance.syncAttributes();Таъмини маҷбурӣ
Одатан лозим нест, ҳатто агар ҳамаи автоматизмҳо хомӯш карда шаванд
gridzyInstance.render();