Học web chuẩn

jQuery tab active

Bài tập

  • Cho nội dung HTML và CSS như bên dưới, viết chương trình sao cho khi click vào li thì sẽ mở div class="box" tương ứng, đồng thời sẽ đổi trạng thái cho button tab khi tab được click (active).
    <!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;
      }
      .tab-list li {
        display: inline-block;
        cursor: pointer;
        border: 1px solid #ccc;
        margin-right: 5px;
        padding: 5px 10px;
      }
      .tab-list li.active {
        background-color: #aaf0f7;
      }
      .tab-content {
        border: 3px solid #eee;
        height: 200px;
        margin-top: 5px;
        padding: 10px;
        width: 600px;
      }
      .box {
        display: none;
      }
    </style>
    <script>
    $(function(){
      /* Viết code ở đây ↓ */
    
    });
    </script>
    </head>
    
    <body>
      <ul class="tab-list">
        <li class="active">Tab 01</li>
        <li>Tab 02</li>
        <li>Tab 03</li>
      </ul>
      <div class="tab-content">
        <div class="box">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
        <div class="box">Sed porttitor turpis risus, vitae sodales neque vulputate ut.</div>
        <div class="box">In suscipit nec velit sit amet convallis. Integer.</div>
      </div>
    </body>
    </html>

Hướng dẫn

  • Thực hiện code tương tự như Bài tập Tab.
  • Viết thêm khi click:
    • Xóa tất cả class active.
    • Add class active vào phần tử li được click.

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.