How to scroll to specific element using jQuery ?
Many times, in our website we want to scroll automatically to a section of the webpage when we click on a button or a heading in a navbar or a list. So, to achieve this automatic scrolling to the required element, we need to take the help of jQuery. Using jQuery, we can achieve this in a very simple way. But first we need to understand two methods namely scrollTop() and offSet() in jQuery.
scrollTop() method: It helps to get the current vertical position of the scrollbar of the first element, in the set of all matched elements.
scrollTop() method: It is used to set the vertical position of the scroll bar to the value ‘val’.
offSet() Method: It is used to get the coordinates of the first element in the set of all matched elements.
Example 1: This example describes how to scroll a specific element using jQuery.
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < script src = integrity = "sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin = "anonymous" > </ script > < title > How to scroll to specific item using jQuery? </ title > < style > div { color: #0f9d58; border: 3px solid #0f9d58; width: 200px; height: 100px; overflow: auto; } p { width: 300px; height: 300px; } </ style > </ head > < body > < div class = "demo" > < h1 >Heading</ h1 > < p >paragraph</ p > </ div > < script > var container = $('div'); var scrollTo = $('p'); // Calculating new position of scrollbar var position = scrollTo.offset().top - container.offset().top + container.scrollTop(); // Setting the value of scrollbar container.scrollTop(position); </ script > </ body > </ html > |
Output:
Example 2: In this example, we will see how to scroll to different sections of the page by clicking different buttons, along with a scrolling effect.
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < script src = integrity = "sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin = "anonymous" > </ script > < title > How to scroll to specific item using jQuery? </ title > < style > div { color: #0f9d58; border: 3px solid #0f9d58; margin: 10px; width: 200px; height: 100px; overflow: auto; } p { width: 300px; height: 300px; } button { margin: 10px; } </ style > </ head > < body > < div class = "demo" > < h1 >Heading</ h1 > < p id = "p1" >paragraph 1</ p > < p id = "p2" >paragraph 2</ p > </ div > < button onclick = "scrollParagraph1()" > paragraph 1 </ button > < button onclick = "scrollParagraph2()" > paragraph 2 </ button > < script > var container = $('div'); // Scrolls to paragraph 1 function scrollParagraph1() { var scrollTo = $("#p1"); // Calculating new position // of scrollbar var position = scrollTo.offset().top - container.offset().top + container.scrollTop(); // Animating scrolling effect container.animate({ scrollTop: position }); } // Scrolls to paragraph 2 function scrollParagraph2() { var scrollTo = $("#p2"); // Calculating new position // of scrollbar var position = scrollTo.offset().top - container.offset().top + container.scrollTop(); // Animating scrolling effect container.animate({ scrollTop: position }); } </ script > </ body > </ html > |
Output:
When the second button is clicked, the output is as follows.
jQuery is an open source JavaScript library that simplifies the interactions between an HTML/CSS document, It is widely famous with it’s philosophy of “Write less, do more”.
You can learn jQuery from the ground up by following this jQuery Tutorial and jQuery Examples.
Please Login to comment...