سکڕۆڵسپی
بە شێوەیەکی ئۆتۆماتیکی ڕێکخستنی Bootstrap یان پێکهاتەکانی گروپی لیست نوێ بکەرەوە بە پشتبەستن بە شوێنی سکڕۆڵ بۆ ئەوەی ئاماژە بەوە بدەیت کە کام بەستەر لە ئێستادا لە ڤیوپۆرتەکەدا چالاکە.
چۆن کاردەکات
Scrollspy .active
پۆلەکە لەسەر توخمەکانی anchor ( <a>
) دەگۆڕێت کاتێک توخمەکە کە id
لەلایەن anchor'sەوە ئاماژەی پێکراوە href
دەخرێتە ناو view. Scrollspy باشترینە بە هاوبەشی لەگەڵ پێکهاتەی Bootstrap nav یان گروپی لیست بەکاربهێنرێت , بەڵام لەگەڵ هەر توخمێکی ئەنکر لە لاپەڕەی ئێستادا کاردەکات. لێرەدا چۆن کاردەکات.
-
بۆ دەستپێکردن، scrollspy پێویستی بە دوو شت هەیە: گەشتکردن، گروپی لیست، یان کۆمەڵەیەکی سادەی بەستەر، لەگەڵ کۆنتێنەرێکی سکڕۆڵکراو. کۆنتێنەری سکڕۆڵ دەتوانێت
<body>
یان توخمێکی تایبەتمەند بێت لەگەڵ کۆمەڵێکheight
وoverflow-y: scroll
. -
لەسەر کۆنتێنەری سکڕۆڵکراو، زیاد بکە
data-bs-spy="scroll"
و لەdata-bs-target="#navId"
کوێnavId
تایبەتمەندیid
گەشتیاری پەیوەندیدارە. دڵنیابە هەروەها atabindex="0"
بۆ دڵنیابوون لە دەستگەیشتن بە کیبۆرد. -
لەگەڵ ڕۆشتنت لە کۆنتێنەری "سیخوڕ"،
.active
پۆلێک زیاد دەکرێت و لە بەستەرەکانی ئەنکر لەناو گەشتە پەیوەندیدارەکەدا لادەبرێت. بەستەرەکان دەبێتid
ئامانجی چارەسەرکراویان هەبێت، ئەگەرنا پشتگوێ دەخرێن. بۆ نموونە a<a href="#home">home</a>
دەبێت لەگەڵ شتێکدا بگونجێت لە DOM وەک<div id="home"></div>
-
ئەو توخمانەی ئامانج کە دیار نین پشتگوێ دەخرێن. سەیری بەشی توخمە نابینراوەکان بکە لە خوارەوە.
نموونە
ناوبەر
ناوچەی خوارەوەی navbar سکڕۆڵ بکە و سەیری گۆڕانی پۆلی چالاک بکە. مینیوی دابەزین بکەرەوە و سەیری بابەتە دابەزینەکان بکە کە بە هەمان شێوە تیشک دەخرێنە سەر.
سەردێڕی یەکەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
سەردێڕی دووەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
سەردێڕی سێیەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
سەردێڕی چوارەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
سەردێڕی پێنجەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
<nav id="navbar-example2" class="navbar bg-light px-3 mb-3">
<a class="navbar-brand" href="#">Navbar</a>
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link" href="#scrollspyHeading1">First</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#scrollspyHeading2">Second</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#scrollspyHeading3">Third</a></li>
<li><a class="dropdown-item" href="#scrollspyHeading4">Fourth</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#scrollspyHeading5">Fifth</a></li>
</ul>
</li>
</ul>
</nav>
<div data-bs-spy="scroll" data-bs-target="#navbar-example2" data-bs-root-margin="0px 0px -40%" data-bs-smooth-scroll="true" class="scrollspy-example bg-light p-3 rounded-2" tabindex="0">
<h4 id="scrollspyHeading1">First heading</h4>
<p>...</p>
<h4 id="scrollspyHeading2">Second heading</h4>
<p>...</p>
<h4 id="scrollspyHeading3">Third heading</h4>
<p>...</p>
<h4 id="scrollspyHeading4">Fourth heading</h4>
<p>...</p>
<h4 id="scrollspyHeading5">Fifth heading</h4>
<p>...</p>
</div>
هێلانەکراو nav
هەروەها Scrollspy لەگەڵ nested .nav
s کاردەکات. ئەگەر هێلانەیەک .nav
بێت .active
ئەوا دایک و باوکی هەروەها دەبنە .active
. ناوچەی تەنیشت navbar سکڕۆڵ بکە و سەیری گۆڕانی پۆلی چالاک بکە.
بڕگەی یەکەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
لەبیرت بێت کە پێوەکراوەکەی جاڤاسکڕێپت هەوڵدەدات توخمێکی گونجاو هەڵبژێرێت لە نێوان هەموو ئەو شتانەی کە ڕەنگە دیار بن. چەندین ئامانجی سکڕۆڵسپی بینراو لە یەک کاتدا لەوانەیە ببێتە هۆی هەندێک کێشە.
بڕگەی 1-1
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
لەبیرت بێت کە پێوەکراوەکەی جاڤاسکڕێپت هەوڵدەدات توخمێکی گونجاو هەڵبژێرێت لە نێوان هەموو ئەو شتانەی کە ڕەنگە دیار بن. چەندین ئامانجی سکڕۆڵسپی بینراو لە یەک کاتدا لەوانەیە ببێتە هۆی هەندێک کێشە.
بڕگەی 1-2
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
لەبیرت بێت کە پێوەکراوەکەی جاڤاسکڕێپت هەوڵدەدات توخمێکی گونجاو هەڵبژێرێت لە نێوان هەموو ئەو شتانەی کە ڕەنگە دیار بن. چەندین ئامانجی سکڕۆڵسپی بینراو لە یەک کاتدا لەوانەیە ببێتە هۆی هەندێک کێشە.
بڕگەی دووەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
لەبیرت بێت کە پێوەکراوەکەی جاڤاسکڕێپت هەوڵدەدات توخمێکی گونجاو هەڵبژێرێت لە نێوان هەموو ئەو شتانەی کە ڕەنگە دیار بن. چەندین ئامانجی سکڕۆڵسپی بینراو لە یەک کاتدا لەوانەیە ببێتە هۆی هەندێک کێشە.
بڕگەی سێیەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
لەبیرت بێت کە پێوەکراوەکەی جاڤاسکڕێپت هەوڵدەدات توخمێکی گونجاو هەڵبژێرێت لە نێوان هەموو ئەو شتانەی کە ڕەنگە دیار بن. چەندین ئامانجی سکڕۆڵسپی بینراو لە یەک کاتدا لەوانەیە ببێتە هۆی هەندێک کێشە.
بڕگەی 3-1
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
لەبیرت بێت کە پێوەکراوەکەی جاڤاسکڕێپت هەوڵدەدات توخمێکی گونجاو هەڵبژێرێت لە نێوان هەموو ئەو شتانەی کە ڕەنگە دیار بن. چەندین ئامانجی سکڕۆڵسپی بینراو لە یەک کاتدا لەوانەیە ببێتە هۆی هەندێک کێشە.
بڕگەی ٣-٢
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
لەبیرت بێت کە پێوەکراوەکەی جاڤاسکڕێپت هەوڵدەدات توخمێکی گونجاو هەڵبژێرێت لە نێوان هەموو ئەو شتانەی کە ڕەنگە دیار بن. چەندین ئامانجی سکڕۆڵسپی بینراو لە یەک کاتدا لەوانەیە ببێتە هۆی هەندێک کێشە.
<div class="row">
<div class="col-4">
<nav id="navbar-example3" class="h-100 flex-column align-items-stretch pe-4 border-end">
<nav class="nav nav-pills flex-column">
<a class="nav-link" href="#item-1">Item 1</a>
<nav class="nav nav-pills flex-column">
<a class="nav-link ms-3 my-1" href="#item-1-1">Item 1-1</a>
<a class="nav-link ms-3 my-1" href="#item-1-2">Item 1-2</a>
</nav>
<a class="nav-link" href="#item-2">Item 2</a>
<a class="nav-link" href="#item-3">Item 3</a>
<nav class="nav nav-pills flex-column">
<a class="nav-link ms-3 my-1" href="#item-3-1">Item 3-1</a>
<a class="nav-link ms-3 my-1" href="#item-3-2">Item 3-2</a>
</nav>
</nav>
</nav>
</div>
<div class="col-8">
<div data-bs-spy="scroll" data-bs-target="#navbar-example3" data-bs-smooth-scroll="true" class="scrollspy-example-2" tabindex="0">
<div id="item-1">
<h4>Item 1</h4>
<p>...</p>
</div>
<div id="item-1-1">
<h5>Item 1-1</h5>
<p>...</p>
</div>
<div id="item-1-2">
<h5>Item 1-2</h5>
<p>...</p>
</div>
<div id="item-2">
<h4>Item 2</h4>
<p>...</p>
</div>
<div id="item-3">
<h4>Item 3</h4>
<p>...</p>
</div>
<div id="item-3-1">
<h5>Item 3-1</h5>
<p>...</p>
</div>
<div id="item-3-2">
<h5>Item 3-2</h5>
<p>...</p>
</div>
</div>
</div>
</div>
گروپی لیست
هەروەها Scrollspy لەگەڵ .list-group
s کاردەکات. ناوچەی تەنیشت گروپی لیستەکە بچۆ و سەیری گۆڕانی پۆلی چالاک بکە.
بڕگەی یەکەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتە��ە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
بڕگەی دووەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
بڕگەی سێیەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
بڕگەی 4
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
<div class="row">
<div class="col-4">
<div id="list-example" class="list-group">
<a class="list-group-item list-group-item-action" href="#list-item-1">Item 1</a>
<a class="list-group-item list-group-item-action" href="#list-item-2">Item 2</a>
<a class="list-group-item list-group-item-action" href="#list-item-3">Item 3</a>
<a class="list-group-item list-group-item-action" href="#list-item-4">Item 4</a>
</div>
</div>
<div class="col-8">
<div data-bs-spy="scroll" data-bs-target="#list-example" data-bs-smooth-scroll="true" class="scrollspy-example" tabindex="0">
<h4 id="list-item-1">Item 1</h4>
<p>...</p>
<h4 id="list-item-2">Item 2</h4>
<p>...</p>
<h4 id="list-item-3">Item 3</h4>
<p>...</p>
<h4 id="list-item-4">Item 4</h4>
<p>...</p>
</div>
</div>
</div>
لەنگەری سادە
Scrollspy تەنها لە پێکهاتەکانی nav و گروپەکانی لیستدا سنووردار نییە، بۆیە لەسەر هەر <a>
توخمێکی ئەنکر لە بەڵگەنامەی ئێستادا کاردەکات. ناوچەکە بچۆرە دەرەوە و سەیری .active
گۆڕانی پۆلەکە بکە.
بڕگەی یەکەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
بڕگەی دووەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
بڕگەی سێیەم
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
بڕگەی 4
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
بڕگەی 5
ئەمە هەندێک ناوەڕۆکی شوێنگرەوەیە بۆ لاپەڕەی scrollspy. تێبینی بکە کە لەگەڵ ڕۆشتنت بۆ خوارەوەی لاپەڕەکە، بەستەری گونجاوی گەشتکردن تیشک دەخرێتە سەر. بە درێژایی نموونەی پێکهاتەکە دووبارە دەبێتەوە. ئێمە بەردەوام دەبین لێرەدا چەند کۆپییەکی نموونەیی زیاتر زیاد دەکەین بۆ جەختکردنەوە لەسەر سکڕۆڵکردن و هایلایتکردن.
<div class="row">
<div class="col-4">
<div id="simple-list-example" class="d-flex flex-column gap-2 simple-list-example-scrollspy text-center">
<a class="p-1 rounded" href="#simple-list-item-1">Item 1</a>
<a class="p-1 rounded" href="#simple-list-item-2">Item 2</a>
<a class="p-1 rounded" href="#simple-list-item-3">Item 3</a>
<a class="p-1 rounded" href="#simple-list-item-4">Item 4</a>
<a class="p-1 rounded" href="#simple-list-item-5">Item 5</a>
</div>
</div>
<div class="col-8">
<div data-bs-spy="scroll" data-bs-target="#simple-list-example" data-bs-offset="0" data-bs-smooth-scroll="true" class="scrollspy-example" tabindex="0">
<h4 id="simple-list-item-1">Item 1</h4>
<p>...</p>
<h4 id="simple-list-item-2">Item 2</h4>
<p>...</p>
<h4 id="simple-list-item-3">Item 3</h4>
<p>...</p>
<h4 id="simple-list-item-4">Item 4</h4>
<p>...</p>
<h4 id="simple-list-item-5">Item 5</h4>
<p>...</p>
</div>
</div>
</div>
توخمە نەبینراوەکان
.active
ئەو توخمانەی ئامانج کە دیار نین پشتگوێ دەخرێن و بابەتە nav ی هاوبەشیان پۆلێک وەرناگرن . نموونەکانی Scrollspy کە لە پێچێکی نەبینراودا دەستپێکراون هەموو توخمە ئامانجدارەکان پشتگوێ دەخەن. شێوازەکە بەکاربهێنە refresh
بۆ پشکنینی توخمە چاودێرکراوەکان کاتێک پێچەکە دیار دەبێت.
document.querySelectorAll('#nav-tab>[data-bs-toggle="tab"]').forEach(el => {
el.addEventListener('shown.bs.tab', () => {
const target = el.getAttribute('data-bs-target')
const scrollElem = document.querySelector(`${target} [data-bs-spy="scroll"]`)
bootstrap.ScrollSpy.getOrCreateInstance(scrollElem).refresh()
})
})
بەکارهێنان
لە ڕێگەی تایبەتمەندییەکانی داتا
بۆ ئەوەی بە ئاسانی هەڵسوکەوتی scrollspy زیاد بکەیت بۆ گەشتکردن لە سەرەوە، زیاد بکە data-bs-spy="scroll"
بۆ ئەو توخمەی کە دەتەوێت سیخوڕی لەسەر بکەیت (بە شێوەیەکی ئاسایی ئەمە دەبێتە <body>
). پاشان data-bs-target
تایبەتمەندییەکە زیاد بکە بە id
ناوی یان پۆلی توخمە باوکەکەی هەر .nav
پێکهاتەیەکی Bootstrap.
<body data-bs-spy="scroll" data-bs-target="#navbar-example">
...
<div id="navbar-example">
<ul class="nav nav-tabs" role="tablist">
...
</ul>
</div>
...
</body>
لە ڕێگەی جاڤاسکڕێپتەوە
const scrollSpy = new bootstrap.ScrollSpy(document.body, {
target: '#navbar-example'
})
بژاردەکان
بەو پێیەی دەتوانرێت هەڵبژاردنەکان لە ڕێگەی تایبەتمەندییەکانی داتا یان جاڤاسکڕێپتەوە تێپەڕێنرێت، دەتوانیت ناوی هەڵبژاردنێک زیاد بکەیت بۆ data-bs-
, وەک لە data-bs-animation="{value}"
. دڵنیابە لە گۆڕینی جۆری کەیسی ناوی هەڵبژاردنەکە لە “ camelCase ” بۆ “ kebab-case ” لە کاتی تێپەڕاندنی هەڵبژاردنەکان لە ڕێگەی تایبەتمەندییەکانی داتا. بۆ نموونە data-bs-custom-class="beautifier"
لەبری data-bs-customClass="beautifier"
.
لە Bootstrap 5.2.0 ەوە، هەموو پێکهاتەکان پشتگیری لە تایبەتمەندییەکی داتا یەدەگی تاقیکاریdata-bs-config
دەکەن کە دەتوانێت ڕێکخستنی پێکهاتەی سادە وەک ڕستەیەکی JSON لەخۆبگرێت. کاتێک توخمێک تایبەتمەندی data-bs-config='{"delay":0, "title":123}'
و data-bs-title="456"
تایبەتمەندیەکانی هەیە، title
بەهای کۆتایی دەبێت 456
و تایبەتمەندییە جیاوازەکانی داتا بەهاکان دەگۆڕن کە لە data-bs-config
. سەرەڕای ئەوە، تایبەتمەندییە داتاکانی ئێستا دەتوانن بەهاکانی JSON وەک data-bs-delay='{"show":0,"hide":150}'
.
ناو | جۆر | بنەڕەتی | وەسف |
---|---|---|---|
rootMargin |
ڕستە | 0px 0px -25% |
Intersection Observer rootMargin یەکە ڕەواکان، لە کاتی حیسابکردنی شوێنی سکڕۆڵ. |
smoothScroll |
boolean | false |
کاتێک بەکارهێنەرێک کلیک لەسەر بەستەرێک دەکات کە ئاماژە بە چاودێرەکانی ScrollSpy دەکات، سکڕۆڵکردنی نەرم چالاک دەکات. |
target |
ڕستە، توخمێکی DOM | null |
توخمێک دیاری دەکات بۆ جێبەجێکردنی پێوەکراوەکەی Scrollspy. |
threshold |
ڕیزبەندی | [0.1, 0.5, 1] |
IntersectionObserver threshold هاتنە ژوورەوەی دروست، لە کاتی حیسابکردنی شوێنی سکڕۆڵ. |
هەڵبژاردە بەکارنەهاتووەکان
تا v5.1.3 ئێمە offset
& method
optionsمان بەکاردەهێنا، کە ئێستا بەکارنەهێنراون و بە rootMargin
. بۆ ئەوەی گونجاوی پاشەکشەیی بمێنێتەوە، ئێمە بەردەوام دەبین لە شیکردنەوەی یەکێک لە given offset
to ، بەڵام ئەم تایبەتمەندییە لە v6rootMargin
دا لادەبرێت .
شێوازەکان
ڕێگا | وەسف |
---|---|
dispose |
سکڕۆڵسپی توخمێک لەناو دەبات. (زانیاری هەڵگیراو لەسەر توخمەکەی DOM لا دەبات) |
getInstance |
شێوازی ئیستاتیک بۆ بەدەستهێنانی نموونەی scrollspy کە پەیوەندی بە توخمێکی DOMەوە هەیە. |
getOrCreateInstance |
شێوازی ئیستاتیک بۆ وەرگرتنی نموونەی scrollspy کە پەیوەندی بە توخمێکی DOMەوە هەیە، یان بۆ دروستکردنی یەکێکی نوێ لە ئەگەری دەستپێنەکردن. |
refresh |
لە کاتی زیادکردن یان لابردنی توخمەکان لە DOMدا، پێویستە بانگی شێوازی نوێکردنەوە بکەیت. |
لێرەدا نموونەیەک بە بەکارهێنانی شێوازی نوێکردنەوە دەخەینەڕوو:
const dataSpyList = document.querySelectorAll('[data-bs-spy="scroll"]')
dataSpyList.forEach(dataSpyEl => {
bootstrap.ScrollSpy.getInstance(dataSpyEl).refresh()
})
ڕووداوەکان
پێشهات | وەسف |
---|---|
activate.bs.scrollspy |
ئەم ڕووداوە هەرکاتێک ئەنکرێک لەلایەن scrollspy چالاک کرا، ئاگر لە توخمە سکڕۆڵەکە دەکات. |
const firstScrollSpyEl = document.querySelector('[data-bs-spy="scroll"]')
firstScrollSpyEl.addEventListener('activate.bs.scrollspy', () => {
// do something...
})