ප්‍රධාන අන්තර්ගතය වෙත යන්න ලේඛන සංචාලනය වෙත යන්න
Check
in English

Scrollspy

නැරඹුම් තොටේ දැනට ක්‍රියාත්මක වන්නේ කුමන සබැඳියද යන්න දැක්වීමට අනුචලන ස්ථානය මත පදනම්ව Bootstrap සංචාලනය හෝ ලැයිස්තු කණ්ඩායම් සංරචක ස්වයංක්‍රීයව යාවත්කාලීන කරන්න.

එය ක්රියා කරන ආකාරය

Scrollspy නැංගුරම මගින් යොමු කර ඇති මූලද්‍රව්‍ය දර්ශනයට අනුචලනය කළ විට .activeනැංගුරම් ( <a>) මූලද්‍රව්‍ය මත පන්තිය ටොගල් කරයි. Scrollspy Bootstrap nav සංරචකයක් හෝ ලැයිස්තු කණ්ඩායමක් සමඟ ඒකාබද්ධව භාවිතා කිරීම වඩාත් සුදුසුය , නමුත් එය වත්මන් පිටුවේ ඇති ඕනෑම නැංගුරම් අංග සමඟද ක්‍රියා කරයි. එය ක්‍රියා කරන ආකාරය මෙන්න.idhref

  • ආරම්භ කිරීමට, scrollspy හට කරුණු දෙකක් අවශ්‍ය වේ: සංචාලනයක්, ලැයිස්තු කණ්ඩායමක් හෝ සරල සබැඳි කට්ටලයක් සහ අනුචලනය කළ හැකි බහාලුමක්. අනුචලනය කළ හැකි බහාලුම <body>කට්ටලයක් heightසහ අභිරුචි අංගයක් විය හැකිය overflow-y: scroll.

  • අනුචලනය කළ හැකි කන්ටේනරය මත, එක් කරන්න data-bs-spy="scroll"සහ සම්බන්ධිත සංචාලනයේ අනන්‍යතාවය data-bs-target="#navId"කොහිද යන්න. යතුරුපුවරු ප්‍රවේශය සහතික කිරීම සඳහා ද ඇතුළත් කිරීමට වග බලා ගන්න .navIdidtabindex="0"

  • ඔබ "ඔත්තු" කන්ටේනරය අනුචලනය .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>

Nested nav

Scrollspy ද nested .navs සමඟ ක්‍රියා කරයි. කැදැල්ලක් .navනම් .active, එහි දෙමාපියන් ද වනු ඇත .active. navbar එක අසල ඇති ප්‍රදේශය අනුචලනය කර ක්‍රියාකාරී පන්තියේ වෙනස නරඹන්න.

අයිතමය 1

මෙය scrollspy පිටුව සඳහා තැන් දරණ අන්තර්ගතයකි. ඔබ පිටුව පහළට අනුචලනය කරන විට, සුදුසු සංචාලන සබැඳිය උද්දීපනය වන බව සලකන්න. සංරචක උදාහරණය පුරාම එය නැවත නැවතත් සිදු වේ. අනුචලනය සහ උද්දීපනය අවධාරණය කිරීම සඳහා අපි තවත් උදාහරණ පිටපතක් මෙහි එකතු කරමු.

JavaScript ප්ලගිනය දෘශ්‍යමාන විය හැකි සියල්ල අතරින් නිවැරදි මූලද්‍රව්‍යය තෝරා ගැනීමට උත්සාහ කරන බව මතක තබා ගන්න. එකවර පෙනෙන බහුවිධ අනුචලන ඉලක්ක සමහර ගැටළු ඇති කළ හැක.

අයිතමය 1-1

මෙය scrollspy පිටුව සඳහා තැන් දරණ අන්තර්ගතයකි. ඔබ පිටුව පහළට අනුචලනය කරන විට, සුදුසු සංචාලන සබැඳිය උද්දීපනය වන බව සලකන්න. සංරචක උදාහරණය පුරාම එය නැවත නැවතත් සිදු වේ. අනුචලනය සහ උද්දීපනය අවධාරණය කිරීම සඳහා අපි තවත් උදාහරණ පිටපතක් මෙහි එකතු කරමු.

JavaScript ප්ලගිනය දෘශ්‍යමාන විය හැකි සියල්ල අතරින් නිවැරදි මූලද්‍රව්‍යය තෝරා ගැනීමට උත්සාහ කරන බව මතක තබා ගන්න. එකවර පෙනෙන බහුවිධ අනුචලන ඉලක්ක සමහර ගැටළු ඇති කළ හැක.

අයිතමය 1-2

මෙය scrollspy පිටුව සඳහා තැන් දරණ අන්තර්ගතයකි. ඔබ පිටුව පහළට අනුචලනය කරන විට, සුදුසු සංචාලන සබැඳිය උද්දීපනය වන බව සලකන්න. සංරචක උදාහරණය පුරාම එය නැවත නැවතත් සිදු වේ. අනුචලනය සහ උද්දීපනය අවධාරණය කිරීම සඳහා අපි තවත් උදාහරණ පිටපතක් මෙහි එකතු කරමු.

JavaScript ප්ලගිනය දෘශ්‍යමාන විය හැකි සියල්ල අතරින් නිවැරදි මූලද්‍රව්‍යය තෝරා ගැනීමට උත්සාහ කරන බව මතක තබා ගන්න. එකවර පෙනෙන බහුවිධ අනුචලන ඉලක්ක සමහර ගැටළු ඇති කළ හැක.

අයිතමය 2

මෙය scrollspy පිටුව සඳහා තැන් දරණ අන්තර්ගතයකි. ඔබ පිටුව පහළට අනුචලනය කරන විට, සුදුසු සංචාලන සබැඳිය උද්දීපනය වන බව සලකන්න. සංරචක උදාහරණය පුරාම එය නැවත නැවතත් සිදු වේ. අනුචලනය සහ උද්දීපනය අවධාරණය කිරීම සඳහා අපි තවත් උදාහරණ පිටපතක් මෙහි එකතු කරමු.

JavaScript ප්ලගිනය දෘශ්‍යමාන විය හැකි සියල්ල අතරින් නිවැරදි මූලද්‍රව්‍යය තෝරා ගැනීමට උත්සාහ කරන බව මතක තබා ගන්න. එකවර පෙනෙන බහුවිධ අනුචලන ඉලක්ක සමහර ගැටළු ඇති කළ හැක.

අයිතමය 3

මෙය scrollspy පිටුව සඳහා තැන් දරණ අන්තර්ගතයකි. ඔබ පිටුව පහළට අනුචලනය කරන විට, සුදුසු සංචාලන සබැඳිය උද්දීපනය වන බව සලකන්න. සංරචක උදාහරණය පුරාම එය නැවත නැවතත් සිදු වේ. අනුචලනය සහ උද්දීපනය අවධාරණය කිරීම සඳහා අපි තවත් උදාහරණ පිටපතක් මෙහි එකතු කරමු.

JavaScript ප්ලගිනය දෘශ්‍යමාන විය හැකි සියල්ල අතරින් නිවැරදි මූලද්‍රව්‍යය තෝරා ගැනීමට උත්සාහ කරන බව මතක තබා ගන්න. එකවර පෙනෙන බහුවිධ අනුචලන ඉලක්ක සමහර ගැටළු ඇති කළ හැක.

අයිතමය 3-1

මෙය scrollspy පිටුව සඳහා තැන් දරණ අන්තර්ගතයකි. ඔබ පිටුව පහළට අනුචලනය කරන විට, සුදුසු සංචාලන සබැඳිය උද්දීපනය වන බව සලකන්න. සංරචක උදාහරණය පුරාම එය නැවත නැවතත් සිදු වේ. අනුචලනය සහ උද්දීපනය අවධාරණය කිරීම සඳහා අපි තවත් උදාහරණ පිටපතක් මෙහි එකතු කරමු.

JavaScript ප්ලගිනය දෘශ්‍යමාන විය හැකි සියල්ල අතරින් නිවැරදි මූලද්‍රව්‍යය තෝරා ගැනීමට උත්සාහ කරන බව මතක තබා ගන්න. එකවර පෙනෙන බහුවිධ අනුචලන ඉලක්ක සමහර ගැටළු ඇති කළ හැක.

අයිතමය 3-2

මෙය scrollspy පිටුව සඳහා තැන් දරණ අන්තර්ගතයකි. ඔබ පිටුව පහළට අනුචලනය කරන විට, සුදුසු සංචාලන සබැඳිය උද්දීපනය වන බව සලකන්න. සංරචක උදාහරණය පුරාම එය නැවත නැවතත් සිදු වේ. අනුචලනය සහ උද්දීපනය අවධාරණය කිරීම සඳහා අපි තවත් උදාහරණ පිටපතක් මෙහි එකතු කරමු.

JavaScript ප්ලගිනය දෘශ්‍යමාන විය හැකි සියල්ල අතරින් නිවැරදි මූලද්‍රව්‍යය තෝරා ගැනීමට උත්සාහ කරන බව මතක තබා ගන්න. එකවර පෙනෙන බහුවිධ අනුචලන ඉලක්ක සමහර ගැටළු ඇති කළ හැක.

<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-groups සමඟ ක්‍රියා කරයි. ලැයිස්තු කණ්ඩායමට යාබද ප්‍රදේශය අනුචලනය කර සක්‍රිය පන්ති වෙනස නරඹන්න.

අයිතමය 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>

සරල නැංගුරම්

<a>Scrollspy nav සංරචක සහ ලැයිස්තු කණ්ඩායම් වලට සීමා නොවේ, එබැවින් එය වත්මන් ලේඛනයේ ඇති ඕනෑම නැංගුරම් අංග මත ක්‍රියා කරයි . ප්‍රදේශය අනුචලනය කර .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දෘශ්‍යමාන නොවන ඉලක්ක මූලද්‍රව්‍ය නොසලකා හරිනු ඇති අතර ඒවායේ අනුරූප 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()
  })
})

භාවිතය

දත්ත ගුණාංග හරහා

ඔබගේ topbar සංචලනය වෙත පහසුවෙන් scrollspy හැසිරීම එක් data-bs-spy="scroll"කිරීමට, ඔබට ඔත්තු බැලීමට අවශ්‍ය මූලද්‍රව්‍යයට එක් කරන්න (බොහෝ විට මෙය වනු ඇත <body>). ඉන්පසු ඕනෑම බූට්ස්ට්‍රැප් සංරචකයක මව් මූලද්‍රව්‍යයේ හෝ පන්තියේ නම data-bs-targetසමඟ ගුණාංගය එක් කරන්න.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'
})

විකල්ප

දත්ත උපලක්ෂණ හෝ ජාවාස්ක්‍රිප්ට් හරහා විකල්ප ලබා දිය හැකි බැවින්, ඔබට විකල්ප නාමයක් data-bs-, ලෙසට එකතු කළ හැක data-bs-animation="{value}". දත්ත ගුණාංග හරහා විකල්ප සම්මත කිරීමේදී විකල්ප නාමයේ කේස් වර්ගය “ කැමල්කේස් ” සිට “ කෙබාබ්-කේස් ” ලෙස වෙනස් කිරීමට වග බලා ගන්න. උදාහරණයක් ලෙස, data-bs-custom-class="beautifier"වෙනුවට භාවිතා කරන්න data-bs-customClass="beautifier".

Bootstrap 5.2.0 වන විට, සියලුම සංරචක JSON තන්තුවක් ලෙස සරල සංරචක වින්‍යාසගත කළ හැකි පර්යේෂණාත්මක වෙන් කළ දත්ත ගුණාංගයකට සහාය දක්වයි. 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}'.

නම ටයිප් කරන්න පෙරනිමිය විස්තර
rootMargin නූල් 0px 0px -25% අනුචලන ස්ථානය ගණනය කිරීමේදී අන්තර් ඡේදනය නිරීක්ෂක rootMargin වලංගු ඒකක.
smoothScroll බූලියන් false පරිශීලකයෙකු ScrollSpy නිරීක්ෂණය කළ හැකි සබැඳියක් මත ක්ලික් කළ විට සුමට අනුචලනය සක්‍රීය කරයි.
target string, DOM මූලද්‍රව්‍යය null Scrollspy ප්ලගිනය යෙදීමට මූලාංගය නියම කරයි.
threshold අරාව [0.1, 0.5, 1] IntersectionObserver threshold වලංගු ආදානය, අනුචලන ස්ථානය ගණනය කිරීමේදී.

අත්හැර දැමූ විකල්ප

v5.1.3 දක්වා අපි භාවිතා කරමින් සිටි offsetසහ methodවිකල්ප, දැන් අත්හරින ලද සහ ප්‍රතිස්ථාපනය කර rootMarginඇත. පසුපසට ගැළපුම තබා ගැනීම සඳහා, අපි ලබා දී ඇති එකක් විග්‍රහ කිරීම දිගටම කරගෙන යනු offsetඇත rootMargin, නමුත් මෙම විශේෂාංගය v6 තුළ ඉවත් කරනු ලැබේ .

ක්රම

ක්රමය විස්තර
dispose මූලද්‍රව්‍යයක අනුචලනය විනාශ කරයි. (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...
})