ሰብስብ
በጥቂት ክፍሎች እና በጃቫ ስክሪፕት ፕለጊኖቻችን የይዘት ታይነት በፕሮጀክትህ ላይ ቀይር።
እንዴት እንደሚሰራ
የስብስብ ጃቫ ስክሪፕት ተሰኪ ይዘትን ለማሳየት እና ለመደበቅ ይጠቅማል። አዝራሮች ወይም መልህቆች እርስዎ ወደሚቀያየሩባቸው የተወሰኑ ንጥረ ነገሮች ላይ የተነደፉ እንደ ቀስቅሴዎች ያገለግላሉ። ኤለመንቱን መሰባበር height
አሁን ካለው እሴቱ ወደ ተንቀሳቃሽ ያደርገዋል 0
። ሲኤስኤስ እነማዎችን እንዴት እንደሚይዝ ከተመለከትን፣ padding
በአንድ .collapse
ኤለመንት ላይ መጠቀም አይችሉም። በምትኩ, ክፍሉን እንደ ገለልተኛ መጠቅለያ አካል ይጠቀሙ.
prefers-reduced-motion
በመገናኛ ብዙሃን ጥያቄ ላይ የተመሰረተ ነው. የእኛን የተደራሽነት ሰነድ የተቀነሰውን እንቅስቃሴ ክፍል ይመልከቱ
።
ለምሳሌ
በክፍል ለውጦች ሌላ አካል ለማሳየት እና ለመደበቅ ከታች ያሉትን አዝራሮች ጠቅ ያድርጉ፡
.collapse
ይዘትን ይደብቃል.collapsing
በሽግግር ወቅት ይተገበራል.collapse.show
ይዘት ያሳያል
በአጠቃላይ, ከባህሪው ጋር አንድ አዝራር እንዲጠቀሙ እንመክራለን data-bs-target
. ከትርጉም እይታ አንጻር ባይመከርም፣ href
ከባህሪው (እና ሀ role="button"
) ጋር ማገናኛን መጠቀም ይችላሉ። በሁለቱም ሁኔታዎች, data-bs-toggle="collapse"
አስፈላጊ ነው.
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Link with href
</a>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
Button with data-bs-target
</button>
</p>
<div class="collapse" id="collapseExample">
<div class="card card-body">
Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
</div>
</div>
አግድም
የመሰብሰቢያ ተሰኪው አግድም መሰባበርን ይደግፋል። በምትኩ .collapse-horizontal
ለመሸጋገር የመቀየሪያ ክፍሉን ጨምሩ እና በቅርብ የልጅ አካል ላይ ያዘጋጁ ። የራስዎን ብጁ Sass ለመጻፍ፣ የመስመር ውስጥ ቅጦችን ለመጠቀም ወይም የእኛን ስፋት መገልገያዎችን ለመጠቀም ነፃነት ይሰማዎ ።width
height
width
min-height
በዶክተሮቻችን ውስጥ ከመጠን በላይ መቀባትን ለማስወገድ ስብስብ ቢኖረውም ይህ በግልፅ አያስፈልግም።
በልጁ ላይ ያለው ንጥረ ነገር ብቻ width
ያስፈልጋል.
<p>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
Toggle width collapse
</button>
</p>
<div style="min-height: 120px;">
<div class="collapse collapse-horizontal" id="collapseWidthExample">
<div class="card card-body" style="width: 300px;">
This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
</div>
</div>
</div>
በርካታ ኢላማዎች
ሀ <button>
ወይም <a>
ብዙ ኤለመንቶችን ከመራጭ ጋር በማጣቀስ ማሳየት እና መደበቅ href
ይችላል data-bs-target
። እያንዳንዳቸው ከነሱ ወይም ከባህሪያቸው ጋር ከጠቀሱት ብዙ <button>
ወይም <a>
ማሳየት እና መደበቅ ይችላሉ።href
data-bs-target
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Toggle both elements</button>
</p>
<div class="row">
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample1">
<div class="card card-body">
Some placeholder content for the first collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
</div>
</div>
</div>
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample2">
<div class="card card-body">
Some placeholder content for the second collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
</div>
</div>
</div>
</div>
ተደራሽነት
aria-expanded
ወደ መቆጣጠሪያው አካል መጨመርዎን እርግጠኛ ይሁኑ . ይህ ባህሪ ከቁጥጥሩ ጋር የተያያዘውን ሊሰበሰብ የሚችል ኤለመንት አሁን ያለውን ሁኔታ ከስክሪን አንባቢዎች እና ተመሳሳይ አጋዥ ቴክኖሎጂዎች ጋር በግልጽ ያስተላልፋል። ሊሰበሰብ የሚችል ኤለመንት በነባሪ ከተዘጋ፣ በመቆጣጠሪያ ኤለመንት ላይ ያለው አይነታ እሴት ሊኖረው ይገባል aria-expanded="false"
። ክፍሉን ተጠቅመው ሊሰበሰብ የሚችለውን አካል በነባሪነት እንዲከፍት ካቀናበሩት ፣ በምትኩ መቆጣጠሪያውን show
ያዘጋጁ ። aria-expanded="true"
ተሰኪው የሚሰበሰበው ኤለመንት መከፈቱን ወይም አለመዘጋቱን (በጃቫ ስክሪፕት በኩል ወይም ተጠቃሚው ሌላ የቁጥጥር አካል ስላስነሳ እንዲሁም ከተመሳሳዩ ሊሰበሰብ ከሚችለው ኤለመንት ጋር የተሳሰረ) ላይ በመመስረት ይህንን ባህሪ በመቆጣጠሪያው ላይ በራስ-ሰር ይቀየራል። የመቆጣጠሪያው አካል ኤችቲኤምኤል ኤለመንቱ አዝራር ካልሆነ (ለምሳሌ፣ an <a>
ወይም <div>
)፣ ባህሪውrole="button"
ወደ ኤለመንቱ መጨመር አለበት.
የእርስዎ የቁጥጥር አካል አንድ ነጠላ ሊሰበሰብ የሚችል ኤለመንት እያነጣጠረ ከሆነ - ማለትም data-bs-target
ባህሪው ወደ መራጭ እየጠቆመ ከሆነ - ባህሪውን ወደ መቆጣጠሪያ ኤለመንት id
ማከል አለብዎት ፣ የሚሰበሰበውን ኤለመንት የያዘ። ዘመናዊ የስክሪን አንባቢዎች እና ተመሳሳይ አጋዥ ቴክኖሎጂዎች ይህንን ባህሪ ለተጠቃሚዎች ተጨማሪ አቋራጮችን ለማቅረብ በቀጥታ ወደ ተሰበሰበው አካል እንዲሄዱ ያደርጋሉ።aria-controls
id
የ Bootstrap የአሁኑ ትግበራ በ ARIA የደራሲ ልምምዶች መመሪያ አኮርዲዮን ንድፍ ውስጥ የተገለጹትን የተለያዩ አማራጭ የቁልፍ ሰሌዳ መስተጋብሮችን እንደማይሸፍን ልብ ይበሉ - እነዚህን ከብጁ ጃቫስክሪፕት ጋር እራስዎ ማካተት ያስፈልግዎታል።
ሳስ
ተለዋዋጮች
$transition-collapse: height .35s ease;
$transition-collapse-width: width .35s ease;
ክፍሎች
scss/_transitions.scss
እነዚህ በበርካታ ክፍሎች (ስብስብ እና አኮርዲዮን) ላይ ስለሚካፈሉ የስብስብ ሽግግር ክፍሎች ሊገኙ ይችላሉ ።
.collapse {
&:not(.show) {
display: none;
}
}
.collapsing {
height: 0;
overflow: hidden;
@include transition($transition-collapse);
&.collapse-horizontal {
width: 0;
height: auto;
@include transition($transition-collapse-width);
}
}
አጠቃቀም
የብልሽት ፕለጊን ከባድ ማንሳትን ለመቆጣጠር ጥቂት ክፍሎችን ይጠቀማል፡-
.collapse
ይዘቱን ይደብቃል.collapse.show
ይዘቱን ያሳያል.collapsing
ሽግግሩ ሲጀምር ይጨመራል, እና ሲጠናቀቅ ይወገዳል
እነዚህ ክፍሎች በ ውስጥ ሊገኙ ይችላሉ _transitions.scss
.
በውሂብ ባህሪያት በኩል
በቀላሉ አንድ ወይም ከዚያ በላይ ሊሰበሰቡ የሚችሉ ኤለመንቶችን ለመቆጣጠር ወደ ኤለመንት data-bs-toggle="collapse"
ያክሉ ። data-bs-target
ባህሪው data-bs-target
ውድቀትን ለመተግበር የ CSS መራጭን ይቀበላል። ክፍሉን collapse
ወደ ሊሰበሰበው አካል ማከልዎን ያረጋግጡ። በነባሪ እንዲከፈት ከፈለጉ ተጨማሪውን ክፍል ያክሉ show
።
አኮርዲዮን የመሰለ የቡድን አስተዳደርን ወደ ሊሰበሰብበት ቦታ ለመጨመር የውሂብ ባህሪውን ያክሉ data-bs-parent="#selector"
። ለበለጠ መረጃ የአኮርዲዮን ገጽን ይመልከቱ ።
በጃቫስክሪፕት በኩል
በእጅ አንቃ በ፦
const collapseElementList = document.querySelectorAll('.collapse')
const collapseList = [...collapseElementList].map(collapseEl => new bootstrap.Collapse(collapseEl))
አማራጮች
አማራጮች በውሂብ ባህሪያት ወይም በጃቫ ስክሪፕት ሊተላለፉ ስለሚችሉ፣ በ ውስጥ እንዳለ የአማራጭ ስም ወደ ላይ ማከል data-bs-
ይችላሉ data-bs-animation="{value}"
። በመረጃ ባህሪያት በኩል አማራጮችን ሲያስተላልፉ የአማራጭ ስም የጉዳይ አይነትን ከ " camelcase " ወደ " kebab-case " መቀየርዎን ያረጋግጡ. ለምሳሌ, data-bs-custom-class="beautifier"
በምትኩ ይጠቀሙ data-bs-customClass="beautifier"
.
ከ Bootstrap 5.2.0 ጀምሮ፣ ሁሉም አካላት ቀላል የአካል ክፍሎችን እንደ JSON string ውቅረት ሊያስቀምጥ የሚችል በሙከራ የተያዘ የውሂብ ባህሪን ይደግፋሉ። data-bs-config
አንድ ኤለመንት ሲኖረው data-bs-config='{"delay":0, "title":123}'
እና data-bs-title="456"
ባህሪያቱ ሲኖረው፣ የመጨረሻው title
እሴት ይሆናል 456
እና የተለዩ የውሂብ ባህሪያት በ ላይ የተሰጡ እሴቶችን ይሽራሉ data-bs-config
። በተጨማሪም፣ ነባር የውሂብ ባህሪያት እንደ JSON ያሉ እሴቶችን ማኖር ይችላሉ data-bs-delay='{"show":0,"hide":150}'
።
ስም | ዓይነት | ነባሪ | መግለጫ |
---|---|---|---|
parent |
መራጭ፣ DOM አባል | null |
ወላጅ ከቀረበ፣ ይህ የሚሰበሰብ ንጥል ነገር ሲታይ በተገለጸው ወላጅ ስር ያሉ ሁሉም የሚሰበሰቡ ክፍሎች ይዘጋሉ። (ከባህላዊ አኮርዲዮን ባህሪ ጋር ተመሳሳይ - ይህ card በክፍሉ ላይ የተመሰረተ ነው). ባህሪው በዒላማው ሊሰበሰብ በሚችል ቦታ ላይ መቀመጥ አለበት. |
toggle |
ቡሊያን | true |
በጥሪ ላይ ሊሰበሰብ የሚችለውን አካል ይቀየራል። |
ዘዴዎች
ያልተመሳሰሉ ዘዴዎች እና ሽግግሮች
ሁሉም የኤፒአይ ዘዴዎች ያልተመሳሰሉ ናቸው እና ሽግግር ይጀምራሉ ። ሽግግሩ እንደተጀመረ ግን ከማለቁ በፊት ወደ ደዋዩ ይመለሳሉ ። በተጨማሪም, በመሸጋገሪያ አካል ላይ የሚደረግ ዘዴ ጥሪ ችላ ይባላል .
የእርስዎን ይዘት እንደ ሊሰበሰብ የሚችል አካል ያገብራል። አማራጭ አማራጮችን ይቀበላል object
።
ከግንባታው ጋር የመውደቅ ምሳሌ መፍጠር ይችላሉ፣ ለምሳሌ፡-
const bsCollapse = new bootstrap.Collapse('#myCollapse', {
toggle: false
})
ዘዴ | መግለጫ |
---|---|
dispose |
የአንድ ንጥረ ነገር ውድቀትን ያጠፋል. (የተከማቸ ውሂብ በ DOM አባል ላይ ያስወግዳል) |
getInstance |
ከDOM ኤለመንት ጋር የተጎዳኘውን የውድቀት ምሳሌ ለማግኘት የሚያስችል የማይንቀሳቀስ ዘዴ፣ እንደሚከተለው ሊጠቀሙበት ይችላሉ bootstrap.Collapse.getInstance(element) ። |
getOrCreateInstance |
ከDOM ኤለመንት ጋር የተጎዳኘውን የውድቀት ምሳሌ የሚመልስ ወይም ካልተጀመረ አዲስ የሚፈጥር የማይንቀሳቀስ ዘዴ። እንደሚከተለው ሊጠቀሙበት ይችላሉ bootstrap.Collapse.getOrCreateInstance(element) :. |
hide |
ሊፈርስ የሚችል አካል ይደብቃል። ሊሰበሰብ የሚችል አካል በትክክል ከመደበቅ በፊት (ለምሳሌ hidden.bs.collapse ክስተቱ ከመከሰቱ በፊት) ወደ ደዋይ ይመለሳል። |
show |
ሊፈርስ የሚችል አካል ያሳያል። ሊሰበሰብ የሚችል አካል በትክክል ከመታየቱ በፊት (ለምሳሌ shown.bs.collapse ክስተቱ ከመከሰቱ በፊት) ወደ ደዋዩ ይመለሳል። |
toggle |
ሊሰበሰብ የሚችል አካል ወደ የሚታይ ወይም የተደበቀ ይቀየራል። ሊሰበሰብ የሚችል አካል ከመታየቱ ወይም ከመደበቅ በፊት (ማለትም ክስተቱ ከመከሰቱ በፊት) ወደshown.bs.collapse ደዋዩ ይመለሳል hidden.bs.collapse ። |
ክስተቶች
የቡትስትራፕ ውድቀት ክፍል ወደ ውድቀት ተግባር ለመያያዝ ጥቂት ክስተቶችን ያጋልጣል።
የክስተት አይነት | መግለጫ |
---|---|
hide.bs.collapse |
hide ዘዴው ሲጠራ ይህ ክስተት ወዲያውኑ ይቃጠላል . |
hidden.bs.collapse |
ይህ ክስተት የሚተኮሰው የመሰብሰቢያ አካል ከተጠቃሚው ከተደበቀ ነው (የCSS ሽግግሮች እስኪጠናቀቁ ድረስ ይጠብቃል።) |
show.bs.collapse |
show የምሳሌው ዘዴ ሲጠራ ይህ ክስተት ወዲያውኑ ይቃጠላል . |
shown.bs.collapse |
ይህ ክስተት የሚተኮሰው የውድቀት አካል ለተጠቃሚው እንዲታይ ከተደረገ ነው (የCSS ሽግግሮች እስኪጠናቀቁ ድረስ ይጠብቃል።) |
const myCollapsible = document.getElementById('myCollapsible')
myCollapsible.addEventListener('hidden.bs.collapse', event => {
// do something...
})