2013-02-09 33 views
5

Đây là một mẫu thô của những gì tôi đang đối phó với: http://jsfiddle.net/dX2ux/1/jQuery slideToggle menu mà sụp đổ anh chị em thực đơn trước khi mở/đóng tự

trong nhà phát triển CMS của một khách hàng tự động tạo ra các menu sử dụng cấu trúc HTML này. Nó cũng đi kèm với kịch bản lệnh jQuery được hiển thị trên mẫu.

Tôi muốn chỉnh sửa tập lệnh để nó đóng các menu đang mở của anh chị em trước khi nó tự mở. Lớp học show cũng phải được bật lên.

Cho đến nay, tôi đã đi lên với điều này: http://jsfiddle.net/dX2ux/2/

Nhưng nếu bạn chơi với nó, nó vít lên khi bạn nhấp vào một trong các menu phụ.

Có ai có thể làm sáng tỏ cách tôi có thể đạt được hành vi mà tôi đang nhắm tới không? Ngoài ra, đây có phải là cách tốt nhất để làm điều đó không? Tôi có bị lật đổ không?

Mọi trợ giúp đều được đánh giá cao. Cảm ơn bạn.

Trả lời

3

Không thực sự chắc chắn nếu điều này là "tốt nhất" cách cho mỗi gia nhập, nhưng với loại đánh dấu, giải pháp này sẽ làm việc:

$('.toggle-menu').on('click',function(e){ 
    e.preventDefault(); 
    $(this).parent().siblings().children('.toggle-menu').removeClass('show').next().slideUp(); 
    $(this).toggleClass('show').next().slideToggle(); 
}); 

Sửa fiddle của bạn để hiển thị các hiệu ứng: http://jsfiddle.net/dX2ux/3/

+0

Trên thực tế nó có. Cảm ơn. – clueless

+0

Cảm ơn @rgin, hoạt động tốt. – blackhawk

Các vấn đề liên quan