Accordion Navigation jQuery & CSS
- November 26, 2009
- 57 comments
Accordion menu cũng là một dạng menu phổ biến được sử dụng nhiều trong các website hiện đại. Nó tạo cảm giác “cool cool” khi người dùng click vào đường link. Hơn nữa nó cũng tiết kiệm được rất nhiều diện tích trên trang web. Nhưng Accordion không chỉ được sử dụng cho Menu, nó cũng có thể được sử dụng cho nội dung, hình ảnh.
Trong bài này tôi sẽ hướng dẫn bạn chi tiết cách tạo menu Accordion từ đầu. Nhưng tôi sẽ đơn giản phần CSS và HTML, chúng ta chỉ tập trung chủ yếu vào phần jQuery. Còn màu sắc, hoa lá cành v.v. thì bạn tự thêm vào sau cũng được. Thêm nữa tôi cũng muốn nói đây là markup bằng HTML, còn nếu bạn muốn sử dụng cho các Project web động bằng PHP chẳng hạn thì nó hoàn toàn tương thích. Miễn sao CMS đó có code HTML khi xuất ra giống với code mà chúng ta đã viết ở trong video dưới.
Thời lượng: 22:38
Download định dạng .avi chất lượng cao: MediaFire
File Size: 48 MB
Giải thích thêm về jQuery
Trong bài này chúng ta sử dụng một số function() của jQuery như: addClass(), removeClass(), hide(), slideUp() và slideDown(). Đây là những function() có sẵn của jQuery mà bạn chỉ cần sử dụng jQuery Selector và gán nó vào.
Để có thể sử dụng được jQuery trong trang web, bạn cần phải download jQuery từ trang chủ của jQuery hoặc sử dụng file có sẵn trên server của Google như sau:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
Về cơ bản hiệu ứng Accordion hoạt động theo nguyên lý khi người dùng mới mở trang web, thì link đầu tiên được hiển thị còn các thành phần khác bị ẩn đi. Khi người dùng click chuột vào bất cứ link nào, nội dung của nó sẽ được hiển thị và các phần khác bị ẩn. Như vậy bạn có thể tưởng tượng rằng chúng ta phải sử dụng click Event Handler. Cuối cùng để đạt được hiệu ứng mũi tên thay đổi theo trạng thái thì mình dùng một class=’active’. Class này tất nhiên được thêm vào và bỏ đi tự động bằng jQuery.
Anh Demon Warlock ơi làm ơn cho em xin file reset css cái mặc định của các trình duyệt với. Cám ơn, mong anh từng phút.Chúc anh luôn vui khoẻ.
Accordion làm gì có dạng nào 3 cấp nhỉ? nếu em muốn dropdown 3 cấp thì có tut này
http://www.izwebz.com/video-tutorials/jquery-video-tutorials/menu-tha-xuong-da-cap-jquery-css/
Còn Accordion 3 cấp anh chưa biết nó ntn nữa :-s
Giống như menu Accordion của trang này ah http://666888.vn/, khi click vào menu cha thì nó sẽ xổ xuống các menu con trong đó, và trong các menu con đó khi click vào thì lại xổ xuống các menu con nhỏ hơn.
Cái đó là họ dùng plugin này đó bạn http://www.dynamicdrive.com/dynamicindex17/ddaccordionmenu-glossy.htm
Có hướng dẫn rõ ràng rồi, muốn đa cấp như thế (3 cấp) thì tham khảo đoạn code họ khởi tạo thôi
Anh Demon Warlock có thể hướng dẫn làm menu Accordion 3 cấp luôn được không, em đang làm kiểu menu đó nhưng thấy khó quá ah,anh có thể làm một tutorial hoặc upload code lên để em tham khảo được không ah
Em đang làm trang bán máy tính, đang tìm kiểu menu hiển thị bên trái cho trang web,em làm đi làm lại loại menu Accordion 3 cấp nhưng vẫn không được, chỉ được 2 cấp như của anh hướng dẫn, anh có thể làm môt Tutorial về phần này được không,rất mong được anh giúp đỡ!
Bài này co thể áp dụng vào menu động không ? Hiện tại tôi áp dụng cho menu động mà không biết vì sao ko thể lặp dc mấy fan` tử con. thanks rất nhiều . Video rất hay
@Sumakai: Thanks nhé, mình làm được rồi
Rất thích anh ơi….
@miller.time2601 : $(‘dd:not(‘:first’)').hide();
Đoạn này nè bạn.Những cái nào là dd không phải là ‘first’(đầu tiên) thì sẽ bị ẩn đi,nội dung trong thẻ sẽ hiện ra nếu nó là ‘first’.Trong Tut anh DW nói thế
Anh DW cho em hỏi, như trong phần FAQS của trang izwebz, mặc định khi show ra câu trả lời là câu 1. Nhưng cái accordion của em đang có thì mặc định lại là 2. Anh chỉ giùm em chỉnh trong code chỗ nào ở file js để mặc định show ra là nội dung thứ nhất giùm em.
Toturial hay lắm,cảm ơn anh DW.Có 1 vấn đề là làm sao để click lần 2 thì nó sẽ đóng lại vậy.
Ah ! Em đã thay slideUp()=hide(),slideDown()=toggle().Thì ra được như câu hỏi trên,như vậy có đúng không anh.Với menu đa cấp thì phải thế nào anh.
rất hay thanks DW nhiều mà anh học website bao lâu rồi sao cái gì cũng biết hết rứa …..:::D
cám ơn anh admin nhiều .Em đang cần cái này
Em rất thích những toturial mà anh làm, giọng anh rất hay và Pro nua. Em rất mong anh có nhiều hơn bài viết về jquery và CSS. Em cũng mới tìm hiểu về nó rất mong anh có nhũng bài viết thường xuyên và có những chủ đề mới. Chúc anh sức khỏe và thanh công, để có thể có những bài viết hay hơn nưa.
có ai giúp mình không khi mình thay sự kiện click = hover thì menu con show ra rất kì khi mình hover lên thì menu con show ra nhưng khi mình hover lần nữa thì menu con lại đóng và show ra lần nữa chứ ko đứng yên
thay vì dùng sự kiện click thì mình dùng hover or onmousover được ko nhỉ ?
A ơi cho E hỏi.Vẫn là menu như của anh.nhưng khi mình click vào thì link mới đc hiển thị.thì làm thế nào ạ?k mặc định như của a là link đầu tiên đc hiển thi.
Video của anh rất là hay. Nhưng lúc em áp dụng nó vào asp.net sử dụng bên trong usercontrol sao khó quá trời.
ok được rùi đó anh ơi. Cám ơn anh nhiu nha…Em học được rất nhiu từ site của anh đó ^^
Anh đã upload lại rồi. Em thử lại rồi cho anh biết sao nhé.
Hic anh DW ơi cái file video chất lượng cao bị gì ah.. em giải nén nó báo lỗi
izwebz.com là trang web rất bổ ích. Em đã hiểu được nhiều vấn đề từ izweb. Rất cám ơn anh DW.
Anh DW cho em hỏi. Sau khi ta click lần thứ nhất thì Menu slideDown. Giờ em muốn click lần thứ hai thì cái Menu slideUp. Phải làm sao vậy anh DW.
Cảm ơn về bài viết của anh DW. anh cho em hỏi sao khi mình đưa Menu này vô MasterPage trong ASP.NET thì khi tạo các trang kế thừa từ trang Master thì các phần ẩn của menu (Các mục con)đều hiện hết ra như ko có JQuery vậy?( đã đưa đường dẫn chứa file JQuery vào trang Master). Thanks
Hehe, tớ toàn chơi flv mà có mờ gì đâu
Xem hiểu ý là được.
Sao vẫn chưa có Video chất lượng cao cho cái này nhỉ anh, cái hướng dẫn kia của nó mờ lắm không nhìn được rõ mấy cái mã jQuery
@cuongNguyen: chà, en này chắc là hay nghịch lắm này, sao biết tài thế, hehe, ngồi định vọc chơi, thấy hay hay, post lên xem thử có ai biết không, không ngờ cũng có người biết
Cho em hỏi anh DW và các bạn làm sao để không bị báo popup active control khi dùng jquery với trình duyệt IE? Em làm nhưng bị lỗi này chưa fix được. Mong các anh giúp đỡ.
Hay nhỉ ? Mình nghĩ chắc bạn click mouse liên tục thì nó vậy chứ, có phải vậy ko ?
)
Ẹc! thua
hehe, đố các bạn và DW, vì sao cái accordion của mình nó lại chạy liên tục như thế này.
vui thôi nha
http://www.youtube.com/watch?v=tvEBJQDyaJw
Bài viết rất hay. Thanks