Bootstrap Q&A Logo
Bootstrap Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about Bootstrap here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

How do I implement ScrollSpy on a page loaded with AJAX content?

Asked on May 13, 2025

Answer

To implement ScrollSpy with AJAX-loaded content in Bootstrap 5, you need to initialize ScrollSpy after the content is dynamically added to the page. This ensures that the ScrollSpy functionality recognizes the new elements.
<!-- BEGIN COPY / PASTE -->
        <!-- HTML Structure -->
        <nav id="navbar-example" class="navbar navbar-light bg-light">
            <a class="navbar-brand" href="#">Navbar</a>
            <ul class="nav nav-pills">
                <li class="nav-item">
                    <a class="nav-link" href="#section1">Section 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#section2">Section 2</a>
                </li>
            </ul>
        </nav>
        
        <div data-bs-spy="scroll" data-bs-target="#navbar-example" data-bs-offset="0" class="scrollspy-example" tabindex="0">
            <!-- AJAX content will be loaded here -->
        </div>

        <!-- JavaScript to initialize ScrollSpy after AJAX load -->
        <script>
            // Function to load content via AJAX
            function loadContent() {
                // Simulate AJAX content loading
                document.querySelector('.scrollspy-example').innerHTML = `
                    <h4 id="section1">Section 1</h4>
                    <p>Content for section 1...</p>
                    <h4 id="section2">Section 2</h4>
                    <p>Content for section 2...</p>
                `;
                
                // Re-initialize ScrollSpy
                var scrollSpy = new bootstrap.ScrollSpy(document.body, {
                    target: '#navbar-example'
                });
            }

            // Call the function to load content
            loadContent();
        </script>
        <!-- END COPY / PASTE -->
Additional Comment:
  • Ensure that the `data-bs-spy="scroll"` attribute is set on the container where the AJAX content will be loaded.
  • After loading content via AJAX, re-initialize ScrollSpy using the `bootstrap.ScrollSpy` constructor.
  • The `target` option in ScrollSpy should match the ID of the navigation element.
  • You can simulate AJAX loading by calling the `loadContent` function, which updates the content and re-initializes ScrollSpy.
✅ Answered with Bootstrap 5 best practices.
← Back to All Questions

Q&A Network
The Q&A Network
Bootstrap
Ask Questions / Get Answers about Bootstrap!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Podcasting
Ask Questions / Get Answers about Podcasting!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
JavaScript
Ask Questions / Get Answers about JavaScript!
Security
Ask Questions / Get Answers about Website Security!
Performance
Ask Questions / Get Answers about Web Vitals!
Animation
Ask Questions / Get Answers about Animation!
AI Audio
Ask Questions / Get Answers about AI Audio!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
HTML
Ask Questions / Get Answers about HTML!
DevOps
Ask Questions / Get Answers about DevOps!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
AI
Ask Questions / Get Answers about AI!
Sound Design
Ask Questions / Get Answers about Sound Design!
AI Video
Ask Questions / Get Answers about AI Video!
Web Languages
Ask Questions / Get Answers about Web Languages!
Robotics
Ask Questions / Get Answers about Robotics!
Web Hosting
Ask Questions / Get Answers about Hosting!
AI Coding
Ask Questions / Get Answers about AI Coding!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
Analytics
Ask Questions / Get Answers about Analytics!
Video Editing
Ask Questions / Get Answers about Video Editing!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
AI Education
Ask Questions / Get Answers about AI Education!
IoT
Ask Questions / Get Answers about IoT!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
AI Writing
Ask Questions / Get Answers about AI Writing!
3D Design
Ask Questions / Get Answers about 3D Design!
Networking
Ask Questions / Get Answers about Networking!
AI Images
Ask Questions / Get Answers about AI Images!
Photography
Ask Questions / Get Answers about Photography!
AI Business
Ask Questions / Get Answers about AI Business!
CSS
Ask Questions / Get Answers about CSS!
Data Science
Ask Questions / Get Answers about Data Science!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
Film Production
Ask Questions / Get Answers about Film Production!
Illustration
Ask Questions / Get Answers about Illustration!
Web Development
Ask Questions / Get Answers about Web Development!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
WordPress
Ask Questions / Get Answers about WordPress!
Chatbots
Ask Questions / Get Answers about Chatbots!
Quantum
Ask Questions / Get Answers about Quantum Computing!
SEO
Ask Questions / Get Answers about SEO!
Tailwind
Ask Questions / Get Answers about Tailwind!
VR & AR
Ask Questions / Get Answers about VR & AR!
AI Design
Ask Questions / Get Answers about AI Design!