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.<!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-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>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
- Trước tiên cho hiển thị phần tử
box
đầu tiên. - Khi click:
- Xác định phần tử n được click.
- Cho ẩn tất cả
box
- Cho hiển thị
box
theo phần tử thứ n, VDli
thứ nhất được click, thì sẽ hiển thịbox
thứ nhất.
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.
↔