Hướng dẫn cách đưa modal box vào html
Trong bài viết lần này, mình sẽ hướng dẫn sơ lượt các bạn về cách xây dựng Lưu ý rằng: Bài viết này chỉ hướng dẫn bạn cấu trúc xây dựng Modal và có tính tái sử dụng nó chứ không có thiên hướng xây dựng CSS đẹp mắt. Xây dựng cấu trúc HTMLĐầu tiên, chúng ta cần phải xây dựng cấu trúc
0 trước khi triển khai đến CSS / JavaScript. Chúng ta sẽ bắt đầu từ button bật
1. Hình thức xây dựng theo để tái sử dụng mã JavaScript, chúng ta sẽ không viết một đoạn mã cho duy nhất một Modal, thay vào đó sẽ xây dựng cấu trúc mã để tái sử dụng cho
2 Modal mà không phải lặp lại mã JavaScript. Kết hợp data-* và aria-* chúng ta có thể truy xuất được modal và trạng thái bật tắt của nó.
Xem như đã hoàn thành xong button để bật modal lên, bây giờ chúng ta cần Modal được taget thông qua thuộc tính
4.
Bây giờ, hãy cùng thêm một chút CSS (Mình dùng SCSS, cách viết nested css) cho ra dáng Modal chút.
Thêm JavaScript để xử lý trạng thái ModalDựa theo mẫu HTML bên dưới, chúng ta sẽ dùng
2 để truy vấn những thẻ có thuộc tính data-trigger='modal'
Tương ứng, trong JavaScript, chúng ta có
Sau khi đã lấy được nhóm các nút
3, tiếp theo chúng ta cần lặp qua mảng NodeList đó
Việc cần làm tiếp theo
Ấy mà function
8 là gì ta. Để không quá rườm rà, đây sẽ là hàm thực hiện thêm / xoá
1 dựa vào các sự kiện bên trên, nhận vào 3 tham số.
Thế là mình đã hoàn thành việc xử lý modal với gần 40 dòng code JavaScript, có thể tái sử dụng cho
3 Modal khác trong quá trình sử dụng sau này. Nào, chúng ta cùng xem demo, mình có thể thêm
2 modal tuỳ ý tương ứng với
2 nút button để bật nó mà không cần thêm bất kì đoạn JavaScript nào khác. Chi tiết bản demo: Xem thử kết quả tại đây Kết luậnBài viết trên mình viết dựa trên kỹ thuật mình biết, có thể còn khó hiệu và không mạch lạc nhưng có thể sẽ giúp các bạn biết cách xây dựng một
6 cơ bản và ngoài ra, có thể tìm cách để tái sử dụng mã bạn viết để không mất nhiều thời gian xây dựng lại làm phát sinh JavaScript dư thừa. |