Scrollspy
ავტომატურად განაახლეთ Bootstrap ნავიგაცია ან ჩამოთვალეთ ჯგუფის კომპონენტები გადახვევის პოზიციის მიხედვით, რათა მიუთითოთ რომელი ბმული არის ამჟამად აქტიური ხედვის პორტში.
Როგორ მუშაობს
Scrollspy ცვლის .active
კლასს anchor ( <a>
) ელემენტებზე, როდესაც ელემენტი, რომელზეც id
მითითებულია წამყვანის მიერ href
, გადადის ხედში. Scrollspy საუკეთესოდ გამოიყენება Bootstrap nav კომპონენტთან ან სიის ჯგუფთან ერთად, მაგრამ ის ასევე იმუშავებს მიმდინარე გვერდზე ნებისმიერ წამყვან ელემენტთან. აი, როგორ მუშაობს.
-
დასაწყებად, scrollspy მოითხოვს ორ რამეს: ნავიგაციას, სიის ჯგუფს ან ბმულების მარტივ კომპლექტს, პლუს გადახვევის კონტეინერს. გადახვევის კონტეინერი შეიძლება იყოს
<body>
ან მორგებული ელემენტი კომპლექტითheight
დაoverflow-y: scroll
. -
გადახვევის კონტეინერზე დაამატეთ
data-bs-spy="scroll"
დაdata-bs-target="#navId"
სადnavId
არის დაკავშირებული ნავიგაციის უნიკალურიid
. დარწმუნდით, რომ ასევეtabindex="0"
შეიყვანეთ კლავიატურაზე წვდომის უზრუნველსაყოფად. -
როგორც თქვენ გადახვევთ "spied" კონტეინერს,
.active
კლასი ემატება და ამოღებულია ასოცირებული ნავიგაციის ლინკებიდან. ბმულებს უნდა ჰქონდეთ გადაჭრადიid
მიზნები, წინააღმდეგ შემთხვევაში ისინი იგნორირებულია. მაგალითად,<a href="#home">home</a>
უნდა შეესაბამებოდეს რაღაც DOM-ის მსგავსს<div id="home"></div>
-
სამიზნე ელემენტები, რომლებიც არ ჩანს, იგნორირებული იქნება. იხილეთ უხილავი ელემენტების განყოფილება ქვემოთ.
მაგალითები
ნავიბარი
გადაახვიეთ ნავიგაციის ზოლის ქვემოთ და უყურეთ აქტიური კლასის ცვლილებას. გახსენით ჩამოსაშლელი მენიუ და უყურეთ ჩამოსაშლელ ელემენტებს ასევე მონიშნული.
პირველი სათაური
ეს არის გარკვეული ჩანაცვლების კონტენტი 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>
ჩადგმული ნავი
Scrollspy ასევე მუშაობს წყობილ .nav
ს-ებთან. თუ ბუდეა .nav
, .active
მისი მშობლებიც იქნებიან .active
. გადაახვიეთ ნავიბარის გვერდით მდებარე ტერიტორია და უყურეთ აქტიური კლასის ცვლილებას.
პუნქტი 1
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
გაითვალისწინეთ, რომ JavaScript მოდული ცდილობს შეარჩიოს სწორი ელემენტი ყველაფერში, რაც შეიძლება ხილული იყოს. რამდენიმე ხილული scrollspy სამიზნე ერთდროულად შეიძლება გამოიწვიოს გარკვეული პრობლემები.
პუნქტი 1-1
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
გაითვალისწინეთ, რომ JavaScript მოდული ცდილობს შეარჩიოს სწორი ელემენტი ყველაფერში, რაც შეიძლება ხილული იყოს. რამდენიმე ხილული scrollspy სამიზნე ერთდროულად შეიძლება გამოიწვიოს გარკვეული პრობლემები.
პუნქტი 1-2
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
გაითვალისწინეთ, რომ JavaScript მოდული ცდილობს შეარჩიოს სწორი ელემენტი ყველაფერში, რაც შეიძლება ხილული იყოს. რამდენიმე ხილული scrollspy სამიზნე ერთდროულად შეიძლება გამოიწვიოს გარკვეული პრობლემები.
პუნქტი 2
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
გაითვალისწინეთ, რომ JavaScript მოდული ცდილობს შეარჩიოს სწორი ელემენტი ყველაფერში, რაც შეიძლება ხილული იყოს. რამდენიმე ხილული scrollspy სამიზნე ერთდროულად შეიძლება გამოიწვიოს გარკვეული პრობლემები.
პუნქტი 3
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
გაითვალისწინეთ, რომ JavaScript მოდული ცდილობს შეარჩიოს სწორი ელემენტი ყველაფერში, რაც შეიძლება ხილული იყოს. რამდენიმე ხილული scrollspy სამიზნე ერთდროულად შეიძლება გამოიწვიოს გარკვეული პრობლემები.
პუნქტი 3-1
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
გაითვალისწინეთ, რომ JavaScript მოდული ცდილობს შეარჩიოს სწორი ელემენტი ყველაფერში, რაც შეიძლება ხილული იყოს. რამდენიმე ხილული scrollspy სამიზნე ერთდროულად შეიძლება გამოიწვიოს გარკვეული პრობლემები.
პუნქტი 3-2
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
გაითვალისწინეთ, რომ JavaScript მოდული ცდილობს შეარჩიოს სწორი ელემენტი ყველაფერში, რაც შეიძლება ხილული იყოს. რამდენიმე ხილული 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
ს. გადაახვიეთ სიის ჯგუფის გვერდით მდებარე არე და უყურეთ აქტიური კლასის ცვლილებას.
პუნქტი 1
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
პუნქტი 2
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
პუნქტი 3
ეს არის გარკვეული ჩანაცვლების კონტენტი 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 არ შემოიფარგლება ნავი კომპონენტებით და სიის ჯგუფებით, ასე რომ, ის იმუშავებს <a>
მიმდინარე დოკუმენტის ნებისმიერ წამყვან ელემენტზე. გადაახვიეთ ტერიტორია და უყურეთ .active
კლასის ცვლილებას.
პუნქტი 1
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
პუნქტი 2
ეს არის გარკვეული ჩანაცვლების კონტენტი scrollspy გვერდისთვის. გაითვალისწინეთ, რომ გვერდის ქვემოთ გადახვევისას მონიშნულია შესაბამისი ნავიგაციის ბმული. ეს მეორდება მთელი კომპონენტის მაგალითში. ჩვენ ვაგრძელებთ აქ კიდევ რამდენიმე ასლის მაგალითს, რათა ხაზი გავუსვა გადახვევას და ხაზს უსვამს.
პუნქტი 3
ეს არის გარკვეული ჩანაცვლების კონტენტი 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
კლასს. 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
ატრიბუტი ნებისმიერი Bootstrap კომპონენტის id
მშობელი ელემენტის ან კლასის სახელით ..nav
<body data-bs-spy="scroll" data-bs-target="#navbar-example">
...
<div id="navbar-example">
<ul class="nav nav-tabs" role="tablist">
...
</ul>
</div>
...
</body>
JavaScript-ის საშუალებით
const scrollSpy = new bootstrap.ScrollSpy(document.body, {
target: '#navbar-example'
})
Პარამეტრები
იმის გამო, რომ ოფციების გადაცემა შესაძლებელია მონაცემთა ატრიბუტების ან JavaScript-ის საშუალებით, შეგიძლიათ დაამატოთ ოფციის სახელი 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% |
გადაკვეთის დამკვირვებელი rootMargin მოქმედი ერთეული, გადახვევის პოზიციის გაანგარიშებისას. |
smoothScroll |
ლოგიკური | false |
რთავს გლუვ გადახვევას, როდესაც მომხმარებელი დააწკაპუნებს ბმულზე, რომელიც ეხება ScrollSpy observables-ს. |
target |
სტრიქონი, DOM ელემენტი | null |
განსაზღვრავს ელემენტს Scrollspy დანამატის გამოსაყენებლად. |
threshold |
მასივი | [0.1, 0.5, 1] |
IntersectionObserver ბარიერის სწორი შეყვანა, გადახვევის პოზიციის გაანგარიშებისას. |
მოძველებული პარამეტრები
V5.1.3-მდე ჩვენ ვიყენებდით offset
& method
ოფციებს, რომლებიც ახლა მოძველებულია და შეიცვალა rootMargin
. უკუშეთავსებადობის შესანარჩუნებლად, ჩვენ გავაგრძელებთ მოცემულის ანალიზს offset
, rootMargin
მაგრამ ეს ფუნქცია წაიშლება v6- ში .
მეთოდები
მეთოდი | აღწერა |
---|---|
dispose |
ანადგურებს ელემენტის scrollspy-ს. (შლის DOM ელემენტზე შენახულ მონაცემებს) |
getInstance |
სტატიკური მეთოდი DOM ელემენტთან დაკავშირებული scrollspy მაგალითის მისაღებად. |
getOrCreateInstance |
სტატიკური მეთოდი DOM ელემენტთან ასოცირებული scrollspy ეგზემპლარის მისაღებად ან ახლის შესაქმნელად, თუ ის არ იყო ინიციალიზებული. |
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...
})