Học web chuẩn

jQuery accordion open all

Bài tập

  • Áp dụng Bài tập ẩn hiện tag, viết chương trình sao cho khi click tiêu đề thì nội dung tiếp theo sẽ luân phiên ẩn hiện (đây là dạng accordion).
    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title>Học web chuẩn</title>
    <script src="https://code.jquery.com/jquery-latest.js"></script>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      h3 {
        margin-bottom: 10px;
      }
      .box {
        border: 3px solid #eee;
        display: none;
        height: 100px;
        margin-top: 5px;
        padding: 10px;
        width: 150px;
      }
    </style>
    <script>
    $(function(){
      /* Viết code ở đây ↓ */
    
    });
    </script>
    </head>
    
    <body>
      <h3>Title 01</h3>
      <div class="box">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
    
      <h3>Title 02</h3>
      <div class="box">Sed porttitor turpis risus, vitae sodales neque vulputate ut.</div>
    
      <h3>Title 03</h3>
      <div class="box">In suscipit nec velit sit amet convallis. Integer.</div>
    </body>
    </html>

Hướng dẫn

  • Có rất nhiều cách có thể làm được bài tập này, các bạn sử dụng thử: .toggle(), .slideToggle() hoặc .toggleClass().

Công thức chung

  • Bài giải này dựa trên bài học jQuery, các bạn cần học qua về jQuery để hiểu về bài tập này.
  • Trong bài tập, Học Web Chuẩn sẽ lồng ghép một số cách viết câu điều kiện, vòng lặp và function Javascript, ... mục đích giúp cho các bạn làm quen dần cách sử dụng những vấn đề này.
  • Trong bài giải các bạn cố gắng tập cho quen cách đặt biến, viết function, thay vì xử lý trực tiếp, sẽ giúp source code của mình tối ưu hơn.
  • Các bước xử lý:
    • Yêu cầu sao thì viết y như vậy, có nghĩa là bạn cần cấu trúc nó ra giấy cho dễ hình dung, VD đề bài kêu so sánh 2 số a và b, và xuất ra số lớn hơn. Thì việc trước mắt là cần có số a và b, xong cần phải so sánh nếu a lớn hơn thì sao? nếu a nhỏ hơn thì sao? kết quả sẽ xuất hiện ở đâu? bạn thể hiện ra giấy vấn đề này, sau khi thấy ổn thì tiến hành viết code.
    • Nếu ứng dụng phức tạp, thì cần chia nhỏ ứng dụng ra, bằng cách sử dụng function.