Home » Vọc web » Cách tạo nút về đầu trang (back to top) cho mọi website
Cách tạo nút về đầu trang (back to top) cho mọi website

Khi viết bài cho website, mọi người thường cố gắng viết cho thật dài để tăng điểm SEO. Cho nên khi bạn muốn trở về đầu trang phải kéo chuột khá lâu. Nếu trên di động thì bạn biết phải vuốt mệt cỡ nào rồi đó. Do đó, thiết kế nút trở về đầu trang hay Back to top là một phần cơ bản của hầu hết website. Nó giúp cho người dùng dễ dàng trở về phần đầu của trang chỉ bằng một click. Mà không phải kéo thanh trượt hoặc vuốt màn hình đến mỏi tay.

Trong bài viết này mình sẽ chia sẻ với các bạn 2 cách tạo back to top. Một cách siêu đơn giản không có hiệu ứng và một cách có hiệu ứng trượt, có thể tùy chỉnh theo ý thích. Các cách này chỉ sử dụng html/css hoặc javascript nên có thể sử dụng cho mọi loại mã nguồn: blogspot, wordpress, xenforo,…

Nút back to top

Cách tạo back to top đơn giản, không hiệu ứng

Bạn chỉ cần dán đoạn mã ngắn ngũn này vào phần cuối của trang web, thường là phần footer. WordPress thì bạn dán vào file footer.php của theme đang sử dụng.

<a href='#' title="Back to top">&#710;</a>

Thực ra đây chỉ là một liên kết về đầu trang. Hoàn toàn không có hiệu ứng gì cả. Nó dành cho những ai thích sự đơn giản, giúp tối giản code, load trang nhanh. Bạn có thể “trang trí” sơ sơ cho nút này ví dụ:

<div style="text-align:center; font-size:30px;"><a href='#' title="Back to top">&#710;</a></div>

Các bạn chú ý ký tự &#710; chính là dấu mũi tên lên ˆ. Bạn có thể google với từ khóa “Ký tự đặc biệt html” để xem thêm các ký tự khác. Hoặc bạn cũng có thể thay nó bằng chữ “Về đầu trang” chẳng hạn.

Cách tạo nút back to top với hiệu ứng trượt

Để chuyên nghiệp hơn, tạo cảm giác đẹp mắt và thân thiện cho người dùng hơn, chúng ta nên tạo nút back to top với hiệu ứng trượt. Cách làm như sau.
Các bạn copy đoạn code sau dán vào phần chân trang, giữa thẻ <footer> </footer> của file footer.php
Phần import các thư viện icon, Jquery nếu đã có thì không cần nữa nhé. Đây là cách liên kết với thư viện có sẵn của các dịch vụ. Nếu muốn chúng ta cũng có thể tích hợp trực tiếp vào website nếu không muốn lệ thuộc vào các trang dịch vụ này.

<!-- import icon font awesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css" />
<!-- Import thư viện JQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
// kéo xuống khoảng cách 500px thì xuất hiện nút Top-up
var offset = 500;
// thời gian di trượt 0.75s ( 1000 = 1s )
var duration = 750;
$(function(){
$(window).scroll(function () {
if ($(this).scrollTop() > offset)
$('#top-up').fadeIn(duration);else
$('#top-up').fadeOut(duration);
});
$('#top-up').click(function () {
$('body,html').animate({scrollTop: 0}, duration);
});
});
</script>
<div title="Về đầu trang" id="top-up">
<i class="fas fa-arrow-circle-up"></i></div>

Mở file style.css của theme đang sử dụng, dán đoạn dưới vào.

#top-up {
font-size: 3rem;
cursor: pointer;
position: fixed;
z-index: 9999;
color:#004993;
bottom: 20px;
right: 15px;
display: none;
}
#top-up:hover {
color: #333
}

Chỉ vậy thôi là các bạn đã có nút back to top như của canxem.com

Tuy nhiên, nếu muốn “tạo sự khác biệt” cho website bạn cần chú ý một số chỗ để có thể tùy chỉnh theo ý thích:

  • var offset = 500: Kéo xuống 500px thì xuất hiện nút back to top.
  • var duration = 750: thời gian trượt 0.75 giây, 1000 = 1 giây
  • Và một phần khá quan trọng để các bạn có thể thay đổi hình ảnh tùy thích là phần <i class=”fas fa-arrow-circle-up”></i>. Đó là biểu tượng mình sẽ chọn để làm nút back to top.
  • Phần CSS là dành cho bạn chế biến, mọi thứ như size, màu sắc, vị trí,…

Các bạn truy cập trang này để chọn biểu tượng mình thích và dán class của nó thay thế. https://fontawesome.com/v5.15/icons

Một số ví dụ:

<i class=”fas fa-chevron-up”>

<i class=”fas fa-angle-up”>

<i class=”fas fa-chevron-circle-up”>

<i class=”fas fa-fighter-jet fa-rotate-270″>

<i class=”fas fa-space-shuttle fa-rotate-270″>

Ngoài ra, bạn có thể dùng hình ảnh bằng cách thay thế đoạn trên bằng link đến hình ảnh bạn muốn.

Ví dụ: <img src=”duong-dan-den-hinh-anh” width=”60px” height=”auto”></img>

Chúc các bạn thành công.


Trả lời

Email được bảo mật. Dấu * là bắt buộc