2010-10-06 49 views
5

Tôi đang tìm cách bao gồm "mở rộng tất cả" và "thu gọn tất cả". Tôi đã cập nhật bản demo với mã mới bằng cách sử dụng một accordion jquery đơn giản.Jquery Accordion Mở rộng Tất cả Thu gọn Tất cả

Mã gốc nên được ghi có vào Ryan Stemkoski tại http://www.stemkoski.com/stupid-simple-jquery-accordion-menu/

Demo: http://jsbin.com/ucalu3/5/

$(document).ready(function() { 
    $('.question').click(function() { 

    if($(this).next().is(':hidden') != true) { 
       $(this).removeClass('active'); 
    $(this).next().slideUp("normal"); 
    } else { 
    $('.question').removeClass('active'); 
    $('.answer').slideUp('normal'); 
    if($(this).next().is(':hidden') == true) { 
    $(this).addClass('active'); 
    $(this).next().slideDown('normal'); 
    } 
    } 
    }); 

    $('.answer').hide(); 

    $('.expand').click(function(event) 
    {$('.question').next().slideDown('normal'); 
     {$('.question').addClass('active');} 
    } 
); 

    $('.collapse').click(function(event) 
    {$('.question').next().slideUp('normal'); 
     {$('.question').removeClass('active');} 
    } 
); 
}); 
+0

Chỉ cần chỉ ra, bạn không cần phải chỉnh sửa tiêu đề để bao gồm 'Giải quyết' khi bạn nhận được một câu trả lời. Khi một câu trả lời đã được chấp nhận, số câu trả lời trên trang chính sẽ chuyển từ màu trắng sang màu vàng để cho biết rằng vấn đề được giải quyết. –

+0

nhờ câu hỏi và câu trả lời này ... điều này đã lưu tôi ... –

Trả lời

3

tôi sẽ thêm một lớp hoặc ID để mở rộng và sự sụp đổ liên kết sau đó một cái gì đó như thế này sẽ hoạt động

$(document).ready(function() { 
    $("#expand").click(function(){ 
    ('.answer').slideDown('normal'); 
    }); 

    $("#collapse").click(function(){ 
    ('.answer').slideUp('normal'); 
    }); 
} 
+0

Cảm ơn bạn đã có mẹo. Tôi đã sửa đổi mã để làm cho nó hoạt động. – Evan

5

Điều này có thể được giải quyết dễ dàng hơn nhiều.

Chỉ cần sử dụng lệnh ẩn/hiển thị jQuery trên phần tử accordion ('.ui-widget-content') mà bạn muốn mở rộng/thu gọn.

dụ:

$(document).ready(function() { 
     $('.expand').click(function() { 
      $('.ui-widget-content').show(); 
     }); 
     $('.collapse').click(function() { 
      $('.ui-widget-content').hide(); 
     }); 
}); 

Xem fiddle: http://jsfiddle.net/ekelly/hG9b5/11/

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