Tìm hiểu chi tiết về Tiny Slider – Vanilla javascript slider

Tiny Slider 2 là một thư viện JavaScript nhẹ, mạnh mẽ được phát triển bởi William Lin lấy cảm hứng từ Owl Carousel để tạo ra các slider/carousel responsive cho website. Thư viện này cung cấp nhiều tính năng hữu ích và dễ dàng tùy chỉnh.

Ưu điểm nổi bật

Tiny Slider 2 có nhiều điểm mạnh khiến nó trở thành lựa chọn tuyệt vời cho các dự án web:

  • Dung lượng cực nhẹ, chỉ khoảng 15KB (minified + gzipped) giúp không ảnh hưởng đến tốc độ tải trang
  • Hỗ trợ responsive hoàn toàn trên mọi thiết bị
  • Hiệu suất cao nhờ việc sử dụng CSS3 transform và transition
  • Tương thích với hầu hết các trình duyệt hiện đại
  • Có thể tùy chỉnh linh hoạt thông qua nhiều options
  • Hỗ trợ touch swipe trên thiết bị di động
  • Mã nguồn mở và được cập nhật thường xuyên

Cách cài đặt và sử dụng Tiny Slider

Bạn có thể đọc tài liệu chính thức tại https://ganlanyuan.github.io/tiny-slider/

Để sử dụng Tiny Slider 2, bạn cần thêm các file CSS và JavaScript vào trang web:

<!-- CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/tiny-slider.css">

<!-- JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/min/tiny-slider.js"></script>

Tiếp theo, tạo cấu trúc HTML cho slider:

<div class="vts-slider">
  <div>Slide 1</div>
  <div>Slide 2</div>
  <div>Slide 3</div>
  <div>Slide 4</div>
</div>

Khởi tạo slider bằng JavaScript:

const slider = tns({
  container: '.vts-slider',
  items: 1,
  slideBy: 'page',
  autoplay: true,
  controls: true,
  nav: true
});

Các tùy chọn phổ biến Tiny Slider

Tiny Slider 2 cung cấp nhiều options để tùy chỉnh slider theo ý muốn:

  • items: Số lượng slides hiển thị cùng lúc
  • slideBy: Số lượng slides di chuyển mỗi lần
  • speed: Tốc độ chuyển slide (ms)
  • autoplay: Tự động chạy slider
  • autoplayTimeout: Thời gian chờ giữa các lần chuyển slide
  • nav: Hiển thị nút điều hướng
  • controls: Hiển thị nút prev/next
  • loop: Lặp lại slider
  • responsive: Cấu hình số lượng slides cho từng breakpoint

Ví dụ về cấu hình responsive:

const slider = tns({
  container: '.vts-slider',
  items: 1,
  responsive: {
    640: {
      items: 2
    },
    768: {
      items: 3
    },
    1024: {
      items: 4
    }
  }
});

Các sự kiện (Events) Tiny Slider

Tiny Slider 2 cung cấp nhiều events để bạn có thể thực hiện các hành động tùy chỉnh:

  • indexChanged: Khi slide active thay đổi
  • transitionStart: Khi bắt đầu chuyển slide
  • transitionEnd: Khi kết thúc chuyển slide
  • touchStart: Khi người dùng bắt đầu touch/drag
  • touchEnd: Khi người dùng kết thúc touch/drag

Ví dụ về xử lý event:

slider.events.on('indexChanged', function(info) {
  console.log('Slide hiện tại:', info.index);
});

Animation và Hiệu ứng

Thư viện hỗ trợ nhiều hiệu ứng chuyển slide như:

  • horizontal: Di chuyển ngang (mặc định)
  • vertical: Di chuyển dọc
  • fade: Mờ dần
  • carousel: Hiệu ứng carousel

Bạn có thể tùy chỉnh animation thông qua các thuộc tính:

  • mode: Kiểu animation (‘carousel’, ‘gallery’)
  • animateIn: Class CSS khi slide vào
  • animateOut: Class CSS khi slide ra
  • animateNormal: Class CSS cho trạng thái bình thường

Tối ưu hiệu năng

Một số tips để tối ưu hiệu năng khi sử dụng Tiny Slider 2:

  • Chỉ load những tính năng cần thiết thông qua việc cấu hình options
  • Sử dụng LazyLoad cho hình ảnh
  • Tối ưu kích thước hình ảnh trước khi load
  • Hạn chế số lượng slides nếu có thể
  • Tắt autoplay khi không cần thiết

Tiny Slider so với các thư viện khác

Tiny Slider 2 so với các thư viện như Owl Carousel, slick slider, swiper thì ra sao, về hiệu suất và tiện dụng như thế nào bạn có thể xem ở dưới đây

So sánh chi tiết về hiệu suất và tính năng giữa Tiny Slider 2, Owl Carousel, Slick Slider và Swiper

Tiêu chí Tiny Slider 2 Owl Carousel Slick Slider Swiper
Dung lượng (gzipped) ~15KB ~50KB ~40KB ~26KB
Phụ thuộc jQuery Không Không
Hiệu suất Rất tốt Trung bình Khá Rất tốt
Touch Events Tốt Khá Trung bình Rất tốt
Tính năng có sẵn Cơ bản Nhiều Nhiều Rất nhiều
Độ phức tạp Đơn giản Trung bình Trung bình Phức tạp
Tài liệu Khá Tốt Tốt Rất tốt
Cộng đồng Nhỏ Lớn Lớn Rất lớn

Như bạn có thể thấy Tiny Slider 2 nhỏ gọn và không phụ thuộc vào jquery là điểm cộng lớn về , chúng cũng rất dễ triển khai, đây là lựa chọn tốt cho các dự án nhỏ và trung bình, trong khi Swiper phù hợp với các dự án lớn cần nhiều tính năng. Owl Carousel và Slick Slider là những lựa chọn tốt nếu dự án của bạn đã sử dụng jQuery và không quá đòi hỏi về hiệu suất.

Kết luận

Tiny Slider 2 là một thư viện slider JavaScript mạnh mẽ, linh hoạt và dễ sử dụng. Với dung lượng nhẹ, hiệu năng cao cùng nhiều tính năng hữu ích, đây là lựa chọn tuyệt vời cho việc tạo slider/carousel trong các dự án web. Thư viện được cập nhật thường xuyên và có cộng đồng người dùng tích cực, giúp bạn dễ dàng tìm kiếm sự hỗ trợ khi cần.

5/5 - (87 votes)

donate Nếu bạn thấy bài viết có ích bạn có thể donate cho team hoặc chia sẻ bài viết này. Ngoài ra bạn có thể yêu cầu thêm bài viết tại đây
vutruso

Vũ Trụ Số chuyên cung cấp hosting cho WordPress, dịch vụ thiết kế website, quản trị website cho doanh nghiệp, dịch vụ quảng cáo Google, quảng cáo Facebook, các dịch vụ bảo mật website WordPress, tăng tốc website WordPress

Bài viết liên quan