Bootstrap 5 Scrollspy Via data attributes facilitate adding the scrollspy behavior in the navigation. This will only work if we add the data-bs-spy attribute to the element that is to spy, along with including the data-bs-target attribute, specifying the id or class name of the parent element of the div container or the nav component.
Bootstrap 5 Scrollspy Via data attributes:
- data-bs-spy: This attribute’s job is to specify the element which will be spied on, i.e., the element which will be scrolled to.
- data-bs-target: This attribute’s job is to specify the id or class of the element the buttons or links on which will be clicked on to scroll.
Syntax:
<body data-bs-spy="scroll" data-bs-target="selectorID/selectorCLASS"> ... </body>
Example 1: The below code example demonstrates how we can implement the Scrollspy using Data Attributes in a Navbar.
<!DOCTYPE html> < html lang = "en" >
< head >
< link href =
rel = "stylesheet"
integrity =
"sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin = "anonymous" >
< script >
$(function () {
$('#work').on('activate.bs.scrollspy')
});
</ script >
</ head >
< body >
< h1 class = "m-4 text-success" >
GeeksforGeeks
</ h1 >
< h4 class = "ms-4" >Bootstrap 5 Scrollspy Via data attributes
</ h4 >
< div class = "container" >
< nav id = "navbar-example2" class="navbar navbar-light
bg-light px-3 m-4">
< a class = "navbar-brand" href = "#" >
Navbar
</ a >
< ul class = "nav" >
< li class = "nav-item" >
< a class = "nav-link" href = "#scrollspyHeading1" >
DS
</ a >
</ li >
< li class = "nav-item" >
< a class = "nav-link" href = "#scrollspyHeading2" >
Algorithms
</ a >
</ li >
< li class = "nav-item" >
< a class = "nav-link" href = "#scrollspyHeading3" >
C++
</ a >
</ li >
< li class = "nav-item" >
< a class = "nav-link" href = "#scrollspyHeading4" >
BootStrap 5
</ a >
</ li >
</ ul >
</ nav >
< div class = "container" data-bs-spy = "scroll" data-bs-target = "#navbar-example2" data-bs-offset = "0"
class = "scrollspy-example" tabindex = "0" >
< h4 id = "scrollspyHeading1" >
Data Structures
</ h4 >
< p >
A data structure is a group of data elements that
provides the easiest way to store and perform
different actions on the data of the computer.
A data structure is a particular way of organizing
data in a computer so that it can be used effectively.
The idea is to reduce the space and time complexities
of different tasks. The choice of a good data structure
makes it possible to perform a variety of critical
operations effectively. An efficient data structure
also uses minimum memory space and execution time to
process the structure.
</ p >
< h4 id = "scrollspyHeading2" >
Algorithms
</ h4 >
< p >
The word Algorithm means ” A set of finite rules or
instructions to be followed in calculations or other
problem-solving operations” Or ” A procedure for
solving a mathematical problem in a finite number
of steps that frequently involves recursive
operations”.It can be understood by taking the
example of cooking a new recipe. To cook a new recipe,
one reads the instructions and steps and executes them
one by one, in the given sequence. The result thus
obtained is the new dish is cooked perfectly. Every
time you use your phone, computer, laptop, or calculator
you are using Algorithms.
</ p >
< h4 id = "scrollspyHeading3" >
C++
</ h4 >
< p >
C++ is a general-purpose programming language and
is widely used nowadays for competitive programming.
It has imperative, object-oriented and generic
programming features. C++ runs on lots of platforms
like Windows, Linux, Unix, Mac etc.C++ is a
general-purpose programming language that was
developed as an enhancement of the C language
to include object-oriented paradigm. It is an
imperative and a compiled language.C++ is a
middle-level language rendering it the advantage
of programming low-level(drivers, kernels) and
even higher-level applications (games, GUI, desktop
apps etc.). The basic syntax and code structure of
both C and C++ are the same.
</ p >
< h4 id = "scrollspyHeading4" >
BootStrap 5
</ h4 >
< p >
Bootstrap is a free and open-source collection of CSS and
JavaScript/jQuery code used for creating dynamic websites
layout and web applications. Bootstrap is one of the most
popular front-end frameworks which has really a nice set
of predefined CSS codes. Bootstrap uses different types of
classes to make responsive websites. Bootstrap 5 was
officially released on 16 June 2020 after several
months of redefining its features.Bootstrap is a
framework that is suitable for mobile-friendly web
development. it means the code and the template available
on bootstrap are applicable to various
screen sizes. It is responsive for every screen size.
</ p >
</ div >
</ div >
</ body >
</ html >
|
Output:
Example 2: This is another code example that demonstrates how we can implement the Scrollspy using Data Attributes in a Nested Side Navbar.
<!DOCTYPE html> < html lang = "en" >
< head >
< link href =
rel = "stylesheet"
integrity =
"sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin = "anonymous" >
< script >
$(function () {
$('#work').on('activate.bs.scrollspy')
});
</ script >
</ head >
< body data-spy = "scroll" data-target = "#scrollspy" data-offset = "50" >
< h1 class = "m-4 text-success" >
GeeksforGeeks
</ h1 >
< h4 class = "ms-4" >
Bootstrap 5 Scrollspy Via data attributes
</ h4 >
< div class = "container-fluid mt-4" >
< div class = "row" >
< nav class = "col-4 nav nav-pills flex-column" id = "scrollspy" >
< a class = "nav-link active" href = "#dataStructs" >
Data Structures
</ a >
< a class = "nav-link" href = "#algo" >
Algorithms
</ a >
< a class = "nav-link" href = "#bootstrap" >
Others
</ a >
< nav class = "nav nav-pills flex-column" id = "scrollspy" >
< a class = "nav-link ms-3 my-1" href = "#other" >
Bootstrap
</ a >
< a class = "nav-link ms-3 my-1" href = "#cpp" >
C++
</ a >
</ nav >
</ nav >
< div class = "col-8" >
< div id = "dataStructs" >
< h2 >Data Structures</ h2 >
< p >
A data structure is a group of data elements that
provides the easiest way to store and perform
different actions on the data of the computer.
A data structure is a particular way of organizing
data in a computer so that it can be used effectively.
The idea is to reduce the space and time complexities
of different tasks. The choice of a good data structure
makes it possible to perform a variety of critical
operations effectively. An efficient data structure
also uses minimum memory space and execution time to
process the structure.
</ p >
</ div >
< div id = "algo" >
< h2 >Algorithms</ h2 >
< p >
The word Algorithm means ” A set of finite rules or
instructions to be followed in calculations or other
problem-solving operations” Or ” A procedure for
solving a mathematical problem in a finite number
of steps that frequently involves recursive
operations”.It can be understood by taking the
example of cooking a new recipe. To cook a new recipe,
one reads the instructions and steps and executes them
one by one, in the given sequence. The result thus
obtained is the new dish is cooked perfectly. Every
time you use your phone, computer, laptop, or calculator
you are using Algorithms.
</ p >
</ div >
< div id = "other" >
< h1 >Others</ h1 >
</ div >
< div id = "bootstrap" >
< h2 >Bootstrap</ h2 >
< p >
Bootstrap is a free and open-source collection of
CSS and JavaScript/jQuery code used for creating
dynamic websiteslayout and web applications.
Bootstrap is one of the most popular front-end
frameworks which has really a nice set of predefined
CSS codes. Bootstrap uses different types of classes
to make responsive websites. Bootstrap 5 was
officially released on 16 June 2020 after several
months of redefining its features.Bootstrap is a
framework that is suitable for mobile-friendly web
development. it means the code and the template
available on bootstrap are applicable to various
screen sizes. It is responsive for every screen size.
</ p >
</ div >
< div id = "cpp" >
< h2 >C++</ h2 >
< p >
C++ is a general-purpose programming language
and is widely used nowadays for competitive
programming. It has imperative, object-oriented
and generic programming features. C++ runs on
lots of platforms like Windows, Linux, Unix,
Mac etc.C++ is a general-purpose programming
language that was developed as an enhancement of
the C language to include object-oriented paradigm.
It is an imperative and a compiled language.
C++ is a middle-level language rendering
it the advantage of programming low-level
(drivers, kernels) and even higher-level
applications (games, GUI, desktop
apps etc.). The basic syntax and code
structure of both C and C++ are the same.
</ p >
</ div >
</ div >
</ div >
</ div >
</ body >
</ html >
|
Output:
Reference: https://getbootstrap.com/docs/5.0/components/scrollspy/#via-data-attributes