Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6926689
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T10:57:05+00:00 2026-05-27T10:57:05+00:00

I have a single page website with the navigation menu position:fixed at the top

  • 0

I have a single page website with the navigation menu position:fixed at the top of the page.

When I click a link from the navigation menu the page scrolls to the appropriate section using this JQuery:

$('a[href^="#"]').live('click',function(event){
     event.preventDefault();
     var target_offset = $(this.hash).offset() ? $(this.hash).offset().top : 0;
     $('html, body').animate({scrollTop:target_offset}, 1200, 'easeOutExpo');
});

What I’d like to happen is when I manually scroll the page $(window).scroll(function(){...});, relevant to the section passing under the navigation menu #navi-container, the navigation link highlights using .addClass('activeNav');

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T10:57:05+00:00Added an answer on May 27, 2026 at 10:57 am

    Check-out this jsfiddle I stumbled across a few days ago, I believe it’s just what you’re looking for: http://jsfiddle.net/x3V6Y/

    $(function(){
        var sections = {},
            _height  = $(window).height(),
            i        = 0;
    
        // Grab positions of our sections
        $('.section').each(function(){
            sections[this.name] = $(this).offset().top;
        });
    
        $(document).scroll(function(){
            var $this   = $(this),
                pos     = $this.scrollTop(),
                $parent = {};
    
            for(i in sections){
                $parent = $('[name="' + i + '"]').parent();
                //you now have a reference to a jQuery object that is the parent of this section
    
                if(sections[i] > pos && sections[i] < pos + _height){
                    $('a').removeClass('active');
                    $('#nav_' + i).addClass('active');
                }  
            }
        });
    });
    

    I would like to note that if you end-up using this that you re-think the for(i in sections) loop as it is a big hit to performance. If you can, it is an excellent idea to use this kind of loop:

    for (var i = 0, len = sections.length; i < len; i++) {
        //...
    }
    

    …but that requires a re-think of how to store the offsets of the section elements since this type of loop requires an array rather than an object (an object will work but it has to be zero-indexed and all the indexes have to be integers).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a single-page scrolling website. It uses a fixed-position nav bar with jquery
I have a single page website which has a fixed floating nav. I want
I have modified a website with a redirection to a single page: RewriteCond %{REQUEST_FILENAME}
I have been advised here not to create a single page website. However, I
I have table called page which represents every single page in my website. page_id
I have a css layout where in I have a single page website the
I have two domains for the same website. I have a single page on
I want to make a single page website and it will have huge content.
I have a large, dynamically generated, single page website that heavily relies on javascript.
Basically I have a single page on my site that I want any php

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.