- 4861 fans
- 1036 reader
- 122 followers
Tabbed Navigation với jQuery & CSS
- In category: jQuery
- 52 comments
- Tutorial Details
- Độ khó: Trung Bình
- Thời gian: 35:05 phút
- File size: 73.59 MB
- Yêu cầu: Căn bản HTML & CSS
Tabbed Navigation ngày càng trở nên phổ biến khi mà các designer ngày càng muốn tận dụng từng centimet trên màn hình. Trước đây trang web chỉ đơn giản là banner, nội dung và một ít sidebar. Thì bây giờ trang web phải có đủ thứ phải trình trên trang chủ. Nhưng diện tích chiều ngang thì có hạn do vậy Tabbed Navigation là lựa chọn tốt nhất để tiết kiệm diện tích chiều ngang.
Trong bài này chúng ta sẽ sử dụng kiến thức đã học ở những bài trước như Sprite Image để tạo nút 2 trạng thái. Sau đó dùng CSS để định dạng các thành phần và cuối cùng là sử dụng jQuery để tạo ra hiệu ứng kéo lên, thả xuống.
Giải thích thêm về jQuery
Bởi vì trên izwebz chưa giới thiệu về jQuery cho nên tôi sẽ có thêm phần giải thích này để các bạn có thể hiểu thêm hơn về jQuery. Với những ai chưa biết về jQuery thì jQuery là một dạng thư viện Javascript giúp bạn tiết kiệm thời gian hơn khi viết code HTML và nó cũng đơn giản hơn Javascript. Để tìm hiểu thêm về jQuery bạn có thể vào trang chủ của jQuery và đọc phần Documentation
Khi viết code jQuery bao giờ cũng bắt đầu với:
$(document).ready(function() {
});
Đoạn code này là phần mở đầu cho jQuery và nó có tác dụng là báo cho trình duyệt biết sẽ chạy những đoạn code ở trong nó một khi đã load xong trang web. Và trong bài này thì nó sẽ chạy đoạn code sau:
$('a.tab').click(function(){
});
Đây là một trong những event handler của jQuery. Hiểu theo ngôn ngữ nói thì là khi ta click vào một thẻ <a> với class=’tab’ thì sẽ chạy đoạn code nằm trong hai dâu {}
$('.active').removeClass('active');
$(this).addClass('active');
$('.content').slideUp();
var content_show = $(this).attr('title');
$('#'+ content_show).slideDown();
Bạn cũng lưu ý là jQuery Selector làm việc với nguyên lý của CSS Selector. Cho nên khi chúng ta muốn chọn những thành phần có class=’active’ thì mình sẽ gọi là $(‘.active’). Khi gọi ra mình muốn làm gì với nó? chúng ta muốn bỏ cái class=’active’ đi do vậy chúng ta sử dụng function removeClass(). Sau khi đã loại bỏ class=’active’ đi, bây giờ sẽ thêm class=’active’ vào nút mà người dùng đang click. Cho nên function addClass() được sử dụng. Khi đã biết người dùng đang ở nút nào thì chỉ việc kéo nội dung của nó lên trên bằng function slideUp().
Cuối cùng thì ta sẽ tạo một biến trong jQuery để tìm ra phần nội dung nào tương ứng với nút đó dựa vào attribute là title. Lấy title lưu lại vào biến content_show và sử dụng function slideDown() để kết thúc code jQuery
-
minh
-
Bá Nam
-
Linh
-
JohnFred
-
http://soicau.sms.vn tuyentt
-
Nguyễn Hữu Sinh
-
Onepiece
-
lukunkun
-
NaRuTo
-
laizo
-
lukunkun
-
-
Quan
Các series nên xem trên izwebz cho newbie
Khi vào izwebz chắc nhiều bạn cho rằng các bài viết trên izwebz đều không có hệ thống gì cả? Thực chất, các bài biết đều đi theo một series của riêng nó, ví dụ như PHP, HTML & CSS, PSD2HTML, Photoshop, illustrator,… Trong bài viết này, mình sẽ tổng hợp lại các series bài viết cần thiết cho một newbie.
-
So sánh và học từ đối thủ
Post by Demon Warlock @ 18/03/2013
-
Biết nhẫn nại và kiên trì
Post by Demon Warlock @ 22/09/2008
-
Các series nên xem trên izwebz cho newbie
Post by Võ Minh Mẫn @ 16/02/2013
-
Tạo trang web đầu tiên
Post by Demon Warlock @ 21/08/2009
-
Nguồn của tôi – Nguồn thiết kế
Post by Võ Minh Mẫn @ 26/06/2011
Archives
- May 2013 (1)
- March 2013 (3)
- February 2013 (1)
- January 2013 (3)
- December 2012 (2)
- November 2012 (2)
- October 2012 (3)
- September 2012 (7)
- August 2012 (5)
- July 2012 (3)
- June 2012 (1)
- May 2012 (3)
- April 2012 (4)
- March 2012 (4)
- February 2012 (4)
- January 2012 (4)
- November 2011 (1)
- August 2011 (4)
- June 2011 (5)
- May 2011 (5)
- April 2011 (1)
- March 2011 (1)
- February 2011 (3)
- January 2011 (9)
- December 2010 (10)
- November 2010 (8)
- October 2010 (8)
- September 2010 (12)
- August 2010 (6)
- July 2010 (2)
- June 2010 (4)
- May 2010 (2)
- April 2010 (5)
- March 2010 (13)
- February 2010 (11)
- January 2010 (13)
- December 2009 (10)
- November 2009 (18)
- October 2009 (9)
- September 2009 (15)
- August 2009 (18)
- October 2008 (11)
- September 2008 (33)
- August 2008 (31)
