In this lesson we are going to learn how to create a sticky navigation
to let’s take a look at the- finished product into that
there’s a navigation bar .
If we still just a bit “it’s called with the pages you would expect is
positioned in a standard fashion :
but if we stroll to the point that it would normally go out of business or:
sticks to the top of the screen .
If you scroll back to the very top of the page: because he didn’t revert back
This is a very useful :feature and certain people out there very long
and you want to make sure that even when they usually give
towards the bottom of your page.
CSS fixed menu bar top
I still have quick access to your wide awake: now that we’ve
explained what is taking a vacation is and why it might be useful
it’s time to learn how to code it .
If you come over to this other job this is a paid we remove all the code
that makes the sticky baby possible to consider the preschool, this is just completely
standard CSS Dropdown Menu page .
We’re going to rewrite the code together and want to make this navigation sticky
once again if you think of this Behavior as, a recipe for the ingredients were going to
They want to run some code number to use CSS for adjusting the
position to activate fixed position and number three were going to use another
Let’s Dive Right In for a quick review :of our existing :code and you can see that
we have enough element with an ,underscored list for the length of a bit of CSS that
gives everything background colors and size and position.
Position fixed css animation
this bracket and this bracket with fire on the initial page load now before :
to outline the logic that are coaches .
We need to keep track of where the navigation sits when it’s using its
standard position :we also need to keep track of how far down the page.
It’s cold and we’re going to need to update that value every time we stroll
again then finally we’ll use conditional logic to compare our two key values.
We’ll see if the current School position is greater than or equal to the opposite
of thet sticky navigation using jQuery hen said it to fix positioning .
This position is less than this navigation bar then once again said it to use
standard position :to the overall skeleton logic is pretty simple: but let’s dive into
writing the actual code to make it possible .
Let’s begin by creating a variable that keeps track of where the bar sits when
it’s using standard position and more specifically were really interested in is the top of that.
Background position fixed jQuery code
How far and pixels, from the top of the page does this navigation bar set far pretty
new variable and we can have anything we want to name it have offset equals the
select in the elements owner HTML.
We can see that it’s just to have “elements so we want to select that and then we want
to run the G chord method named offset .
This really neat method will return an object telling me how far from the left
and how far from the top and open it and willing to talk now let’s just make sure
that everything working.
We can alert that guy you’ve been a message, stay alert have offset and if you’re
fresh but we see that is returning value of 182 which looks about right to me but we now
know how far down the bar sits and the next thing we need
to know is how far down from the top is currently sprawled.
Will create a new variable Canadian anything we want I will do the dishes select
the entire browser window and we’ll use that for your message.
Position absolute dynamic height
Now this scroll to the top of the page but it will only run once when the pages first load it
and if you think about all the logic that enables the sticky navigation.
We need to know that about you of how far going to school every time we school
it needs to be consoling update’ we’ll wrap this code inside another jQuery
method that will fire again and again and again every time the scroll
we will write j Query and select entire browser window and then run the jQuery scroll method.
Well then that’s why I’m working; that variable into the school function that every
time we stroll this line with fire again and again now let’s put this value somewhere
in the browser just .
You can see that it’s updating correctly HTML WhatsApp status contact select a status
ailment animal updated to text with this variable value .
Now if we were fresh and scroll you can see it right here in the top left as
we stroll this value is constantly updated : we know there are code is working
and we now have a variable which updates on the fly now we can run off conditional code
which compares the two values to see if you scroll down far enough to enable fixed position .
CSS Sticky Navigation fixed not working in chrome
Our code will look something like this scroll position is larger than or equal to the
knobs off set then runs through code otherwise else run a bit of different code .
Now we can let us do the heavy lifting we just wanted to check we’re going to add or remove
a class at the right moment to enable fixed position if the condition is met will select
the nav element and atom class of things and if the condition is not andyou want to
select select the element and remove to class at 6 now we can hop over to our CSS file.
Create a new class named fixed :I will simply say position pics top now if we refresh
nothing happens but once we get;
to that threshold our link is now still locked to the top but our code isn’t perfect.
Vertical dropdown menu css jquery
Yet I’m sure you noticed the awkward jumpy Behavior when we get very close
to the threshold you can see that the contents are jumping around if it’s cool very slowly a
nd even if we were all quite rapidly because there’s a jump in the content .
What’s happening here is that the CSS Declaration of position fixed actually removes
the element from :the natural flow of the page so once this element is said to position
fixed it’s as if all of the content below it this continent in the paragraphs they are no longer
aware of this element on the page .they’re trying to move up to fill that empty space
though there are many different ways of solving this issue but all should be one
of my favorite Sticky navigation Menu with HTML strategies .
Essentially consists of wrapping or menu bar and another element and
then using jQuery to dynamically give that element the same height as the navigation bar .