Jquery

Tạo slideshow đơn giản với jQuery

Bạn đã biết tới rất nhiều plugin của jQuery cho phép bạn tạo các slideshow với nhiều hiệu ứng đẹp, chuyên nghiệp. Cách sử dụng cũng dễ dàng, thậm chí không cần biết viết mã javascript. Nhưng nếu bạn muốn học cách viết một slideshow của riêng mình thì bài viết này dành cho bạn, bài hướng dẫn làm slideshow dạng đơn giản nhất với jQuery.

Bắt đầu với mã HTML và CSS

1 <div class="neoslideshow">
2   <img src="demopic/simpleslideshow/1.jpg" width="500" height="260" />
3   <img src="demopic/simpleslideshow/2.jpg" width="500" height="260" />
4   <img src="demopic/simpleslideshow/3.jpg" width="500" height="260" />
5   <img src="demopic/simpleslideshow/4.jpg" width="500" height="260" />
6   <img src="demopic/simpleslideshow/5.jpg" width="500" height="260" />
7 </div>

Dùng CSS đặt tất cả các ảnh vào cùng một vị trí

1 .neoslideshow {position:relativewidth:500pxheight:260px;}
2 .neoslideshow img {position:absolute;left:0top:0;}

Slideshow sử dụng hiệu ứng fadein và fadeout có sẵn trong jQuery. Trước hết, bạn cần ẩn tất cả các ảnh trừ ảnh đầu tiên.

1 $('.neoslideshow img:gt(0)').hide();

Tiếp theo, đặt thời gian để chuyển ảnh (mỗi ảnh sẽ dừng lại 4 giây)

1 setInterval(function(){ },4000);

Bắt đầu với hiệu ứng chuyển ảnh: FadeOut ảnh đang hiện, fadeIn ảnh tiếp theo

1 $('.neoslideshow :first-child').fadeOut()
2 .next('img').fadeIn()

Tới đây thì có một vấn đề là mã javascript ở trên luôn luôn chọn ảnh đầu tiên trong slideshow để ẩn và chọn ảnh tiếp theo để hiện. Ta sẽ xử lý bằng cách chuyển ảnh đầu tiên (vừa bị ẩn đi) xuống vị trí cuối cùng sau khi chạy hiệu ứng

1 .appendTo('.neoslideshow')

Như vậy, mã sử dụng sẽ là:

1 $(function() {
2     $('.neoslideshow img:gt(0)').hide();
3     setInterval(function(){
4       $('.neoslideshow :first-child').fadeOut()
5          .next('img').fadeIn()
6          .end().appendTo('.neoslideshow');},
7       4000);
8 })
Bạn có thể xem demo tại đây
Nguồn : http://ntuts.com

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s