გადადით მთავარ შინაარსზე დოკუმენტების ნავიგაციაზე გადასვლა
Check
in English

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