স্ক্রলস্পাই
ভিউপোর্টে বর্তমানে কোন লিঙ্কটি সক্রিয় তা নির্দেশ করতে স্ক্রোল অবস্থানের উপর ভিত্তি করে বুটস্ট্র্যাপ নেভিগেশন বা তালিকা গোষ্ঠীর উপাদানগুলি স্বয়ংক্রিয়ভাবে আপডেট করুন।
কিভাবে এটা কাজ করে
.active
স্ক্রোলস্পাই অ্যাঙ্কর ( <a>
) এলিমেন্টে ক্লাস টগল করে যখন id
অ্যাঙ্করের দ্বারা রেফারেন্স করা উপাদানটি href
ভিউতে স্ক্রোল করা হয়। স্ক্রোলস্পাই একটি বুটস্ট্র্যাপ এনএভি কম্পোনেন্ট বা তালিকা গোষ্ঠীর সাথে সবচেয়ে ভালো ব্যবহার করা হয় , তবে এটি বর্তমান পৃষ্ঠার যেকোনো অ্যাঙ্কর উপাদানের সাথেও কাজ করবে। এখানে কিভাবে এটা কাজ করে.
-
শুরু করার জন্য, scrollspy-এর দুটি জিনিস প্রয়োজন: একটি নেভিগেশন, তালিকা গ্রুপ, বা লিঙ্কগুলির একটি সাধারণ সেট, এবং একটি স্ক্রোলযোগ্য ধারক৷ স্ক্রোলযোগ্য ধারকটি হতে পারে
<body>
বা একটি সেট সহ একটি কাস্টম উপাদানheight
এবংoverflow-y: scroll
। -
স্ক্রোলযোগ্য পাত্রে, যুক্ত করুন
data-bs-spy="scroll"
এবং সংযুক্ত নেভিগেশনের অনন্যdata-bs-target="#navId"
কোথায় । কীবোর্ড অ্যাক্সেস নিশ্চিত করতে একটি অন্তর্ভুক্ত করতে ভুলবেন না।navId
id
tabindex="0"
-
আপনি "গুপ্তচরবৃত্তি" কন্টেইনারটি স্ক্রোল
.active
করার সাথে সাথে সম্পর্কিত নেভিগেশনের মধ্যে অ্যাঙ্কর লিঙ্কগুলি থেকে একটি ক্লাস যুক্ত এবং সরানো হয়। লিঙ্কগুলির অবশ্যই সমাধানযোগ্যid
লক্ষ্য থাকতে হবে, অন্যথায় সেগুলি উপেক্ষা করা হবে৷ উদাহরণস্বরূপ, একটি<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
স্ক্রোলস্পাই নেস্টেড এস এর সাথেও কাজ করে .nav
। বাসা বাঁধলে .nav
তার .active
বাবা-মাও থাকবে .active
। নেভিবারের পাশের এলাকাটি স্ক্রোল করুন এবং সক্রিয় ক্লাস পরিবর্তন দেখুন।
আইটেম 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-group
s সঙ্গে কাজ করে. তালিকা গোষ্ঠীর পাশের এলাকায় স্ক্রোল করুন এবং সক্রিয় শ্রেণী পরিবর্তন দেখুন।
আইটেম 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
ক্লাস পাবে না। একটি অ-দৃশ্যমান র্যাপারে সূচনাকৃত স্ক্রোলস্পি দৃষ্টান্ত সমস্ত লক্ষ্য উপাদানগুলিকে উপেক্ষা করবে। 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()
})
})
ব্যবহার
ডেটা অ্যাট্রিবিউটের মাধ্যমে
আপনার টপবার নেভিগেশনে সহজেই স্ক্রোলস্পি আচরণ যোগ 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>
জাভাস্ক্রিপ্টের মাধ্যমে
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"
।
বুটস্ট্র্যাপ 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 অবজারভেবলকে বোঝায়। |
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 |
যখনই স্ক্রোলস্পাই দ্বারা একটি অ্যাঙ্কর সক্রিয় করা হয় তখনই এই ইভেন্টটি স্ক্রোল উপাদানটিতে আগুন দেয়। |
const firstScrollSpyEl = document.querySelector('[data-bs-spy="scroll"]')
firstScrollSpyEl.addEventListener('activate.bs.scrollspy', () => {
// do something...
})