Animated scroll to top là hiệu ứng khá phổ biến và hữu ích trên các trang web có chiều dài lớn. Ở bất kỳ vị trí nào, người dùng cũng có thể cuộn lên phía trên cùng của trang web bằng cách click lên nút “Back to top” thường nằm ở phía dưới bên phải trang web. Hiệu ứng rất êm, mượt, tạo cảm giác dễ chịu.
Đây là một hiệu ứng khá đơn giản mà chúng ta có thể xây dựng bằng jQuery và một chút CSS. Nào, hãy cùng MyLop.BanMai.Info tìm hiểu cách làm nhé.
Animated scroll to top jQuery Effects
Bước 1: Xây dựng nút Back to top bằng hình ảnh trong HTML
Bạn chèn đoạn code sau vào bất kỳ vị trí nào thẻ <body>
, tuy nhiên tốt nhất nên chèn vào vị trí cuối cùng của trang trước thẻ đóng </body>
:
1 2 3 | <p id="back-to-top"> <a href="#"><img src="arrow-up.png"></a> </p> |
Thuộc tính <p>
dùng để chút nữa ta điều khiển bằng jQuery. Các bạn hãy ghi nhớ thông tin này.
Bước 2: Tạo style cho nút Back to top bằng CSS
Chèn tiếp các đoạn code CSS sau vào thẻ <style>
của trang web hoặc vào một file .css riêng:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #back-to-top { position: fixed; right: 30px; bottom: 60px; z-index: 9999; } #back-to-top a { text-decoration: none; } #back-to-top a img { width: 40px; height: auto; } |
Thuộc tính
Thuộc tính
Vậy là xong phần HTML và CSS, giờ ta chuyển sang bước tiếp theo
Bước 3: Sử dụng jQuery tạo hiệu ứng Animated scroll to top
Liên kết tới thư viện jQuery trong phần <head>
của HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> |
Hoặc sử dụng jQuery trên host của bạn:
<script src="path/jquery.min.js"></script> |
Tiếp theo, chèn đoạn code JavaScript sau vào phía dưới, nhớ đặt trong cặp thẻ <script></script>
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | jQuery(document).ready(function ($) { if ($(window).scrollTop() > 200) { $('#back-to-top').fadeIn(); } else { $('#back-to-top').fadeOut(); } $(window).scroll(function () { if ($(this).scrollTop() > 200) { $('#back-to-top').fadeIn(); } else { $('#back-to-top').fadeOut(); } }); $('#back-to-top').click(function () { $("html, body").animate({ scrollTop: 0 }, 600); return false; }); }); |
Các bạn để ý những chỗ <p>
dùng để chứa nội dung của nút được điều khiển bằng jQuery. Trong phần này ta sử dụng một số hàm jQuery như fadeIn(); fadeOut() và animate();. Đây đều là những hàm đơn giản, khá dễ hiểu nhưng rất hiệu quả.
Xong rồi đấy, hãy tận hưởng thành quả nhé các bạn:
Bạn có thể tạo nút Back to top mà không cần dùng đến file ảnh!
Bonus: Tạo nút Back to top hoàn toàn bằng CSS
Trong phần này MyLop.BanMai.Info sẽ hướng dẫn bạn cách tạo nút Back to top hình tròn đẹp mắt bằng việc sử dụng Font Awesome. Để biết cách sử dụng Font Awesome, mời bạn đọc bài viết Hướng dẫn sử dụng Font Awesome chèn vector icon vào web
Chèn thêm đoạn code sau trong phần <head>
:
<link rel="stylesheet" href="font-awesome/css/font-awesome.min.css"> |
Nhớ sửa đường dẫn tới file font-awesome.min.css mà bạn đã tải từ Font Awesome về cho chính xác. Hoặc bạn cũng có thể sử dụng CDN Version mà không cần tải Font Awesome về máy:
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> |
Bạn sửa đoạn code HTML ở Bước 1 thành:
1 2 3 | <p id="back-to-top"> <a href="#"><i class="fa fa-angle-up"></i></a> </p> |
Chúng ta sử dụng class fa-angle-up
của Font Awesome để chèn icon mũi tên hướng lên trên. Xem thêm về cách sử dụng các icon tương tự tại đây
Cuối cùng, sửa code CSS ở Bước 2 thành:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #back-to-top a { display: block; background: #00ac97; text-decoration: none; border-radius: 500px; } #back-to-top .fa { width: 40px; height: 40px; display: block; margin-bottom: 7px; font-size: 2em; line-height: 35px; color: #FFF; text-align: center; font-weight: 500; } |
Bạn có biết tại sao lại có thuộc tính
Vậy là xong, xem kết quả nào:
Một số từ khóa để tìm kiếm:
– animated scroll to top, animated scroll to top jquery
– scroll to top, scroll to top jquery
– animated back to top, animated back to top jquery
– smooth scroll
Cheers,
Lục Đức Thành
Latest posts by Lục Đức Thành (see all)
- Cách hiển thị lượt truy cập ra ngoài front-end - 12/02/2023
- Sửa lỗi “không start được MySQL trong XAMPP” - 21/06/2020
- WordPress 5 có gì mới? - 23/12/2018
- Sublime Text 3 Portable Windows 64 bit - 11/12/2017
- Kỹ thuật nhúng font vào web và WordPress Theme - 12/11/2017