ข้ามไปยังเนื้อหาหลัก
คู่มือระบบ เนื้อหาผ่านการตรวจสอบแล้ว

สร้าง Modal/Popup แบบง่าย

ในบทเรียนที่ผ่านมา เราได้สร้าง Modal/Popup ซึ่งเป็น UI Component ที่สำคัญ โดยใช้ HTML ในการสร้างโครงสร้าง, CSS ในการจัดสไตล์และการซ่อน/แสดงผล และใช้ JavaScript...

สวัสดีครับผู้เรียนทุกท่าน! ยินดีต้อนรับสู่บทเรียนที่ 5 ในซีรีส์ "สร้าง UI Components พื้นฐาน" ของเรานะครับ ในบทเรียนที่แล้ว เราได้เรียนรู้วิธีสร้างแถบเลื่อน (Slider) ที่ไม่เพียงแค่ใช้งานได้จริง แต่ยังปรับแต่งรูปลักษณ์ให้สวยงามน่าใช้ด้วย HTML, CSS และ JavaScript ซึ่งแสดงให้เห็นถึงพลังของการทำงานร่วมกันของทั้งสามเทคโนโลยีในการสร้างส่วนประกอบ UI ที่มีชีวิตชีวา มาในบทนี้ เราจะพาทุกคนไปสร้างอีกหนึ่ง UI Component ที่สำคัญและพบเห็นได้บ่อยมากบนเว็บไซต์ นั่นก็คือ **Modal (หรือ Popup)** ครับ Modal เป็นกล่องข้อความหรือหน้าต่างขนาดเล็กที่เด้งขึ้นมาเหนือเนื้อหาหลักของหน้าเว็บ เพื่อดึงความสนใจของผู้ใช้และนำเสนอข้อมูลสำคัญ หรือให้ผู้ใช้ตอบสนองบางอย่าง การสร้าง Modal จะเป็นอีกก้าวสำคัญที่ช่วยให้คุณเข้าใจการควบคุมการแสดงผลขององค์ประกอบต่างๆ บนหน้าเว็บ รวมถึงการจัดการกับเหตุการณ์ (events) ที่ซับซับซ้อนขึ้นอีกเล็กน้อยด้วย JavaScript ครับ ---

ทำความรู้จักกับ Modal/Popup: ทำไมต้องใช้ และใช้เมื่อไหร่?

ก่อนที่เราจะลงมือเขียนโค้ด มาทำความเข้าใจกันก่อนว่า Modal คืออะไร และทำไมมันถึงเป็นส่วนประกอบ UI ที่มีประโยชน์มาก

Modal (โมดัล) หรือบางครั้งก็เรียกว่า Popup (ป๊อปอัป) คือหน้าต่างขนาดเล็กที่ปรากฏขึ้นมา "ซ้อนทับ" เนื้อหาหลักของหน้าเว็บชั่วคราว เมื่อ Modal แสดงขึ้นมา ผู้ใช้มักจะไม่สามารถโต้ตอบกับเนื้อหาที่อยู่ด้านหลังได้ จนกว่าจะปิด Modal ลงไปก่อน

เหตุผลเชิงออกแบบและประโยชน์ของ Modal:

  1. ดึงดูดความสนใจ (Focus): Modal ถูกออกแบบมาเพื่อดึงความสนใจของผู้ใช้ไปยังข้อมูลหรือการกระทำที่สำคัญที่สุดในขณะนั้น ตัวอย่างเช่น เมื่อคุณต้องการให้ผู้ใช้ยืนยันการลบข้อมูล หรือแจ้งข้อความผิดพลาดที่สำคัญ Modal จะช่วยให้ผู้ใช้ไม่พลาดข้อความเหล่านั้น
  2. นำเสนอข้อมูลเพิ่มเติม (Supplemental Information): ใช้แสดงรายละเอียดเพิ่มเติมของสินค้า, รูปภาพขนาดใหญ่, หรือเงื่อนไขการใช้งาน โดยไม่ต้องเปลี่ยนหน้าเว็บไปมา
  3. การรับข้อมูลจากผู้ใช้ (User Input): เหมาะสำหรับฟอร์มสั้นๆ เช่น ฟอร์มสมัครสมาชิก, ฟอร์มเข้าสู่ระบบ, หรือฟอร์มกรอกความคิดเห็น เพื่อให้ผู้ใช้กรอกข้อมูลได้ทันทีโดยไม่เสียบริบทจากหน้าหลัก
  4. การยืนยันการกระทำ (Action Confirmation): เช่น "คุณต้องการลบรายการนี้ใช่หรือไม่?" Modal ช่วยป้องกันการกระทำที่ผิดพลาดโดยไม่ตั้งใจ
  5. รักษาบริบท (Maintain Context): ผู้ใช้ยังคงเห็นหน้าเว็บหลักอยู่ด้านหลัง Modal ทำให้พวกเขารู้ว่ากำลังทำอะไรอยู่และสามารถกลับไปยังหน้าหลักได้อย่างง่ายดายเมื่อปิด Modal

อย่างไรก็ตาม การใช้ Modal ก็มี ข้อควรระวัง (Trade-offs) เช่นกัน หากใช้มากเกินไปหรือไม่ถูกเวลา อาจทำให้ผู้ใช้รู้สึกรำคาญหรือถูกขัดจังหวะได้ ดังนั้นการออกแบบที่ดีจึงเป็นสิ่งสำคัญ ซึ่งเราจะพูดถึงในบทเรียนสุดท้ายครับ

---

1. โครงสร้าง HTML สำหรับ Modal

เราจะเริ่มต้นด้วยการสร้างโครงสร้างพื้นฐานของ Modal ด้วย HTML ครับ โครงสร้างของเราจะประกอบด้วย:
  1. ปุ่มสำหรับเปิด Modal: เป็นจุดเริ่มต้นที่ผู้ใช้จะคลิกเพื่อแสดง Modal
  2. Overlay (ฉากหลังทึบ): เป็น `div` ที่จะครอบคลุมทั้งหน้าจอเมื่อ Modal เปิดอยู่ เพื่อสร้างเอฟเฟกต์ฉากหลังที่มืดลงและป้องกันไม่ให้ผู้ใช้โต้ตอบกับเนื้อหาด้านหลัง
  3. Modal Content (เนื้อหา Modal): เป็น `div` ที่อยู่ภายใน `overlay` ซึ่งเป็นกล่องหลักของ Modal ที่จะแสดงข้อความหรือข้อมูลต่างๆ
  4. ปุ่มปิด Modal: อยู่ภายใน `modal-content` เพื่อให้ผู้ใช้สามารถปิด Modal ได้
มาดูโค้ด HTML กันครับ:
<!-- ปุ่มสำหรับเปิด Modal -->
<button id="openModalBtn">เปิด Modal</button>

<!-- โครงสร้าง Modal -->
<div id="myModal" class="modal">
    <div class="modal-overlay"></div> <!-- Overlay (ฉากหลังทึบ) -->
    
    <div class="modal-content">
        <span class="close-button">&times;</span> <!-- ปุ่มปิด Modal (x) -->
        <h3>ยินดีต้อนรับสู่ Modal ของเรา!</h3>
        <p>นี่คือข้อความตัวอย่างที่อยู่ภายใน Modal คุณสามารถใส่ข้อมูล, รูปภาพ, หรือฟอร์มต่างๆ ได้ที่นี่.</p>
        <p>ลองคลิกที่ปุ่ม 'x' หรือคลิกที่ฉากหลังเพื่อปิด Modal ดูสิ!</p>
    </div>
</div>
**คำอธิบายโค้ด HTML:** * เรามี `
Office.in.th Custom Service

ต้องการพัฒนาระบบหรือปรับแต่งจากโครงสร้างนี้?

Office.in.th รับพัฒนาและออกแบบ Enterprise Web Application, API Integration และระบบบริหารงานภาครัฐ/เอกชน พร้อมการสนับสนุนระยะยาว

ดูบริการรับพัฒนาซอฟต์แวร์