20

Tạo Slideshow với jQuery cycle

by PT on 05/05/2012, Lượt xem: 9.984

Nhân tiện có bạn email nhờ mình làm demo Slide hình ảnh nên post lên đây để chia sẻ với mọi người

Có rất nhiều Plugin của jQuery giúp chúng ta tạo ra slideshow nhanh chóng với nhiều hiệu ứng đẹp. Một trong số đó là jQuery Cycle.

jQuery cycle là một plugin gọn nhẹ giúp chúng ta tạo ra các slideshow động trên trang web với nhiều hiệu ứng đẹp, không chỉ tạo ra slide hình ảnh, jQuery cycle có thể slide bất cứ phần tử html nào mà bạn muốn, như một đoạn văn bản chẳng hạn…

Hôm nay chúng ta sẽ sử dụng jQuery cycle để tạo Slideshow hình ảnh như sau:

Tao slideshow voi jquery cycle

Slideshow hình ảnh với jQuery cycle plugin

PS: Bổ sung Slide tin tức giống Zing.VN, nếu bạn quan tâm có thể xem demo và Download

XEM DEMO   Xem Demo Slide tin tức (Zing)

  Download Demo (102.3 KiB, 3,622 Lượt tải)

  Download Demo Slide tin tức (206.1 KiB, 3,154 Lượt tải)

Lưu ý: jQuery cycle là một plugin của jQuery, nên để chạy được plugin này bạn cần thư viện jQuery, nếu chưa có bạn có thể vào jquery.com để Download

1, Tiếp theo bạn Download  jQuery cycle tại đây: http://malsup.com/jquery/cycle/download.html

2, Chèn thư viện jQuery và jQuery cycle vào thẻ <head> của website

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery.cycle.all.js"></script>

3, Trong thành phần <body> của HTML chúng ta tạo mã HTML của Slideshow như sau:

<div id="slide">
        <img src="imgs/1.jpg" alt="Picture 1" />
        <img src="imgs/2.jpg" alt="Picture 2" />
        <img src="imgs/3.jpg" alt="Picture 3" />
        <img src="imgs/4.jpg" alt="Picture 4" />
        <img src="imgs/5.jpg" alt="Picture 5" />
</div>
<div id="slide-nav"></div>

jQuery cycle sẽ chọn các thành phần là con của <div id=”slide”> (không phải thành phần cháu trong cấu trúc DOM) để đưa vào vòng lặp. Ở đây chúng ta chọn được 5 thành phần <img> để tạo slide.

Thành phần <div id=”slide-nav”> là nơi chúng ta sẽ hiện thị phân trang (paging) của Slideshow, phân trang này sẽ tự động thêm vào tương ứng với số lượng hình ảnh của chúng ta

4, Tiếp tục thêm đoạn mã sau trong thẻ <head> để tạo slider:

<script type="text/javascript">
     $(document).ready(function(){
	  $("#slide").cycle({
	      //Các tùy chọn của jQuery cycle
             fx:  'fade', //Hiệu ứng
	      speed:  1000, //Tốc độ diễn ra hiệu ứng 1/1000s
	      timeout: 3000, //Thời gian thay đổi giữa các trong 3s
	      pager:  '#slide-nav' //Tạo phân trang
	  });
     });
</script>

Bạn có thể xem các tùy chọn của jQuery cycle tại đây: http://jquery.malsup.com/cycle/options.html
Xem thêm các hiệu ứng tại đây: http://jquery.malsup.com/cycle/browser.html

5, Cuối cùng, thêm một chút CSS để dịnh dạng Slideshow, mình sẽ không đề cập nhiều đến CSS, bạn có thể định dạng theo ý bạn, chỉ lưu ý một chút:

- Slideshow (div id=”slide”) sẽ có position là relative
- Các Slide (<img>) sẽ có position là absolute

Mã CSS cho demo trên:

* { margin: 0; padding: 0 }
body { font: 14px arial }
#wrapper { width: 800px; margin: 0 auto; margin-top: 50px }
#slide, #slide-nav {background: #000; padding: 10px; width: 480px; height: 195px}
#slide img { top: 10px !important; left: 10px !important }
#slide-nav {height: 20px}
#slide-nav a{ background: #eee; margin-right: 4px; padding: 1px 5px; text-decoration: none; border: 2px solid green; color: green}
#slide-nav a.activeSlide{background: green; color: #fff}

KẾT LUẬN
Qua bài học này chúng ta đã tạo được một slideshow hình ảnh rất nhanh chóng với jQuery cycle plugin.
Bạn có thể truy cập http://jquery.malsup.com/cycle/ để xem nhiều demo hơn và tìm hiểu thêm về plugin này, chúc bạn sẽ có nhiều ứng dụng thú vị với nó.

Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để website ngày càng phát triển hơn. Xin cám ơn bạn!
Hoc thiet ke web Peter Tran là một Coder, công việc hiện tại của anh ấy là phát triển ứng dụng web với PHP, thời gian rảnh anh ấy thường viết Blog chia sẻ những kiến thức về lập trình và phát triển website. Hãy xem trang cá nhân của anh ấy trên FacebookTwitter

Bài liên quan

{ 20 comments… read them below or add one }

Ewebvn HuyNQ 05/05/2012 12:34:48 at 12:34

Anh PT ơi, anh có thể viết 1 bài hướng dẫn về RegEx được không ạ :D PHP ý anh ạ.

Reply

Ewebvn Peter Tran 05/05/2012 12:39:03 at 12:39

Đề tài này hơi hóc búa đấy nhé, em có thể tìm hiểu trên google trước, nếu khó khăn gì em có thể email cho anh để trao đổi thêm, khi nào rảnh anh sẽ viết về RegEx. Hiện tại EW cũng chưa chuyển sang để viết về PHP được, vì còn đang loay hoay ở jQuery :D

Reply

Ewebvn Thanh 06/05/2012 12:04:36 at 00:04

mấy cái bbcode của VBB hình như cũng có cái này

Reply

Ewebvn Peter Tran 06/05/2012 12:12:15 at 00:12

BBcode khác Regex nhé bạn
BBcode là những shortcode để định dạng, chèn mã HTML vào bài viết…
Regex là biểu thức chính quy dùng trong việc khớp mẫu, kiểm tra tính hợp lệ của dữ liệu, như kiểm tra có đúng định dạng email hay không…

Reply

Ewebvn Thanh 06/05/2012 12:52:54 at 00:52

Hơ . em không rõ nhưng cái mycode Mybb mà e hay nghịch có cái này
Regular Expression *: \[b\](.*?)\[/b\]
Replacement *: $1
Nên e nghĩ nó có dây mơ dễ má đến mycode

Reply

Ewebvn Peter Tran 06/05/2012 02:08:49 at 14:08

Ah, cái này là sử dụng Regex trong PHP để xử lý và lấy giá trị của BBcode sau đó chuyển qua HTML em ah. Như ví dụ của em \[b\](.*?)\[/b\] thì sẽ lấy được tất cả giá trị của BBcode [b]giá trị[/b] và chuyến thành <b>giá trị</b> để hiện thị lên website.

Ewebvn Xuân Hồng 05/05/2012 05:34:45 at 17:34

Để tạo được 1 slide ảnh tương tự như trên với nhiều hiệu ứng tùy chọn cực đẹp cũng có rất nhiều cách, mình xin giới thiệu với các bạn 1 cách cực kỳ đơn giản, cách này thích hợp với bất kì ai, chỉ cần biết đọc chữ, không cần có bất kỳ 1 kiến thức nào về PHP hay jQuery… Đó là sử dụng các phần mềm tạo Slide ảnh, sau khi tạo xong Public nó ra PHP hay HTML là công việc đã hoàn tất.
Một số phần mềm mình biết như sau:
1)wowslide
2)visuallightbox
3)Sothink_JavaScript_Web_Scroller
4)Benvista PhotoZoom Pro
5)AAA photo Album (phần mềm này tương đối hay và dễ sử dụng)
Vì cũng ít sử dụng cách này để làm nên cũng k tìm hiểu nhiều, các bạn tìm hiểu thêm trên Google với từ khóa “phần mềm tạo slide ảnh cho web”

Reply

Ewebvn Thanh 05/05/2012 11:59:27 at 23:59

Web bây giờ nói chung cũng như web 2.0 nói riêng hạn chế dùng flash, flash chủ yếu dùng khi cần thiết thôi .với lại làm web mà lại ko cần biết php,jquery thì chắc chỉ có dùng wyswyg mà kéo thả :) ).

Reply

Ewebvn Peter Tran 06/05/2012 12:09:50 at 00:09

Rất đồng tình với ý kiến của Thanh, wyswyg thì chỉ đạt được mục đích nhưng lại không hiểu được cơ chế của nó, khi gặp trục trặc sẽ khó sửa chữa nếu không biết hand code.

Reply

Ewebvn Hồng Hòa Vi 08/05/2012 10:52:58 at 10:52

Theo HHV thì cũng không hẳn như vậy, tùy theo góc nhìn thôi. Với coder mà nói thì không hiểu không được, nhưng đối với một số ngừoi dùng đơn giản thì không hiểu đôi khi lại là cái lợi :) ) lol không phải nặng đầu

Reply

Ewebvn Peter Tran 08/05/2012 08:07:42 at 20:07

Hì, cũng đồng ý với HHV luôn, những bạn không chuyên và không phải là coder thì có thể sử dụng những soft hỗ trợ trên. :D

Reply

Ewebvn Tori Tran 07/05/2012 09:59:22 at 09:59

Cám ơn bạn Xuân Hồng…

Reply

Ewebvn Xuân Hồng 13/05/2012 05:23:11 at 17:23

hiii
Cái này thực chất cũng sẽ hỗ trợ nhiều cho anh em trong công việc, đồng ý là phải biết code tuy nhiên nếu đã biết code rồi, sử dụng các phần mềm trên thì cũng đã tiết kiệm cho mình rất nhiều thời gian viết từ đầu. Chỉ cần dùng chúng xong, code lại theo ý nữa thì hoàn thiện và rất nhanh chóng. Nếu k biết code thì khỏi cần chỉnh, sử dụng ngay cũng OK lắm

Reply

Ewebvn lenghia_itc 14/05/2012 01:11:10 at 13:11

Hình như cái slide show tin tức Zing lúc trước chưa có mà ta

Reply

Ewebvn Peter Tran 14/05/2012 09:18:50 at 21:18

Lúc đầu thì chưa có, sau này mới bổ sung em ah

Reply

Ewebvn hoanganh 01/06/2012 01:26:10 at 01:26

anh ơi tại sao em dùng jquery up lên mạng mà nó hiện thị hết cả ảnh ra, ko hiện slide nhu ở nhà hix, anh xem hộ em nha http://maiyeuem.net63.net/news/index.htm

Reply

Ewebvn Mai toàn 24/06/2012 11:59:20 at 23:59

Anh ơi anh chỉ giùm em ở file fash này có chèn cái biểu tượng ở trên góc bên trái liệu có cách nào xóa đi không anh.Em tải một cái template miễn phí về để học code nhưng đến lúc định dùng thì thấy cái này nhìn không ổn .Em đã thử dùng phần mềm sothink biên tập lại nhưng khi nó xuất file ra rồi thì lại không biết cách để tổng hợp lại.Mong anh chỉ giùm
Cảm ơn anh nhiều.
Link: http://www.mediafire.com/?8qhdih4zvb961lh (1.5 Mb)
http://www.mediafire.com/?v1snum5hn6swt9h (Trình biên tập ngược )

Reply

Ewebvn Nguyen anh vu 27/09/2012 11:12:55 at 11:12

Anh ơi anh cho em hỏi em làm các buớc tạo Slideshow như anh huớng dẫn sao không đuợc vậy anh.Nó chỉ hiển thị phần hiệu ứng ảnh thui còn phân trang sao không có. Anh có thể demo clip hướng dẫn cụ thể lại không? Mong anh giúp đỡ, xin cám ơn

Reply

Ewebvn PT 27/09/2012 08:29:42 at 20:29

Hi em,
Em download demo xuống rồi so sánh với code của mình xem lỗi ở chỗ nào nhé.
Thân,

Reply

Ewebvn Nguyen Vinh 09/05/2013 04:33:22 at 16:33

Cảm ơn rất nhiều !! Những bài viết của bạn rất hữu ích.

Reply

Leave a Comment

AUTO[F9] TELEX VNI VIQR

Đặt code trong cặp thẻ [code] code của bạn [/code]

Những thắc mắc về lỗi code, ..., vui lòng gửi kèm demo