Code Snippet
Using the jQuery animate() method, a link clicked can smoothly scroll down (or up) the page to a page anchor.
The link may look like this.
<a href="#" class="order_now_link">Scroll to new section.</a>
The following will allow the user to scroll smoothly down the page to the “product ordering section” when the above button is clicked.
- Line 4 has the scroll speed set at 500ms
$('.order_now_link').click(function () {
$('html, body').animate({
scrollTop: $('.product_ordering_section').offset().top
}, 500);
});
The following adds an offset from the top of 120px, perhaps to compensate for a sticky header that is 110px in height.
- Line 3 has a 120px offset
- Line 4 has the scroll speed set at “fast”
$('.order_now_link').click(function () {
$('html, body').animate({
scrollTop: $('.product_ordering_section').offset().top - 120
}, fast);
});
Note
It is generally good practice to place your jQuery code/function inside the document load function so that the action takes place ONLY after the document has finished loading. This ensures that all of the page elements that you may be selecting are in place before running the code on them.
jQuery Notes:
- To use jQuery on your site, it must first be downloaded from the official jQuery site and linked to in your document <head>, or linked to via a CDN in your document <head>
- It is generally good practice to place your jQuery code/function inside the document load function so that the action takes place ONLY after the document has finished loading
- When using jQuery, single or double quotation marks are acceptable and work identically to one another; choose whichever you prefer, and stay consistent
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.