Xây dựng chức năng scrollTo Top với jQuery - jQuery Tutorials
scrollTo là một chức năng thường hay thấy trên website, điển hình là chức năng scroll to top. Và để làm được như vậy thì ta phải sử dụng hàm animate của jQuery kết hợp với tham số truyền vào là scrollTop, đây là vị trí tính bằng pixel mà màn hình sẽ nhảy đến. Chúng ta có hai cách sử dụng phổ ...
scrollTo là một chức năng thường hay thấy trên website, điển hình là chức năng scroll to top. Và để làm được như vậy thì ta phải sử dụng hàm animate
của jQuery kết hợp với tham số truyền vào là scrollTop
, đây là vị trí tính bằng pixel mà màn hình sẽ nhảy đến. Chúng ta có hai cách sử dụng phổ biến, cách thứ nhất là scroll tới một vị trí nào đó trên website, cách thứ hai là scroll tới vị trí trên cùng của website.
1. jQuery scroll tới một vị trí của website
Bạn nên đặt ID cho vị trí bạn muốn scroll tới, sau đó sử dụng hàm animate trong jQuery để di chuyển tới vị trí cần thiết.
Ví dụ: XEM DEMO
$('body').animate({ scrollTop: $("#to").offset().top }, 500);<br /> <br />
Trong đó #to
là ID của vị trí cần di chuyển tới, vì vậy bạn chỉ cần thay đổi thông số này là sử dụng được
2. jQuery scroll tới vị trí top của website
Để scroll to top thì ta chỉ cần giá giá trị của scrollTop = 0
là nó sẽ đẩy lên trên cùng. Nhưng vấn đề của chức năng này là khi đẩy lên trên cùng rồi thì button click kia sẽ bị mất, vì vậy ta phải làm thêm một số bước nữa mới hoàn thiện.
Ví dụ: XEM DEMO
function scrolltop() { var id_button = '#scrolltop'; // Kéo xuống khoảng cách 220px thì xuất hiện button var offset = 220; // THời gian di trượt là 0.5 giây var duration = 500; // Thêm vào sự kiện scroll của window, nghĩa là lúc trượt sẽ // kiểm tra sự ẩn hiện của button jQuery(window).scroll(function() { if (jQuery(this).scrollTop() > offset) { jQuery(id_button).fadeIn(duration); } else { jQuery(id_button).fadeOut(duration); } }); // Thêm sự kiện click vào button để khi click là trượt lên top jQuery(id_button).click(function(event) { event.preventDefault(); jQuery('html, body').animate({scrollTop: 0}, duration); return false; }); }
Như vậy bạn chỉ cần đổi tham số #scrolltop
là chương trình sẽ hoạt động bình thường.
3. Lời kết
Như vậy là mình đã giới thiệu xong chức năng scrollTo và scrollTo top trong jquery rồi, nếu trong project của bạn cần thì hãy lấy về mà sử dụng nhé. Chức năng này thường được dùng trong các tab menu khi click vào thì sẽ kéo đến một vị trí nào đó hoặc là chức năng lúc kéo xuống thì xuất hiện button đẩy lên top giúp người dùng dễ thao tác với webste hơn.