เราใช้ popup ทำอะไรบ้าง
เราสามารถใช้งาน popup เพื่อแสดงเมนูลัด แสดงรูปภาพ แบบฟอร์ม
แผนที่ วิดีโอ หรืออื่นได้หลากหลาย จึงจำเป็น ที่ต้องศึกษาส่วนนี้
เริ่มต้นอย่างง่าย สร้าง popup พื้นฐาน
เรามี แท็ก a สำหรับ link และ div สำหรับ เป็น เนื้อหา popup
แท็ก div ส่วนของ popup เราต้องกำหนด attributes 2 ค่า คือ
data-rel="popup" และ iid เช่น id="my_basic_popup"
จะได้เป็น
<div data-role="popup" id="my_basic_popup"> <p>เนื้อหา และรายละเอียดที่จะแสดงใน popup</p> </div>
แท็ก a จำเป็นต้องกำหนด attributes 2 ค่า เช่นกัน คือ
data-role="popup" และ href="#my_basic_popup" จะเห็นความสัมพันธ์ในส่วน
ของ id ของแท็ก div ที่นำมาใช้ใน แท็ก a
ตัวอย่าง
โค้ดทั้งหมด
<!DOCTYPE html> <html> <head> <title>ใส่ไตเติล ตามใจชอบ</title> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="js/mobile/1.4.2/jquery.mobile-1.4.2.min.css" /> <script src="js/jquery-1.9.1.min.js"></script> <script src="js/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> </head> <body> <!-- Start of page HOME --> <div data-role="page" id="page_home"> <div data-role="header" data-position="fixed"> <a href="#left_panel" class="ui-btn ui-shadow ui-corner-all ui-icon-bars ui-btn-icon-notext">Bars</a> <h1>Home</h1> <div data-role="navbar" > <ul> <li><a href="#" class="ui-btn-active" data-icon="heart">เมนู 1</a></li> <li><a href="#" data-icon="calendar">เมนู 2</a></li> <li><a href="#" data-icon="audio">เมนู 3</a></li> <li><a href="#" data-icon="alert">เมนู 4</a></li> <li><a href="#" data-icon="gear">เมนู 5</a></li> </ul> </div><!-- /navbar --> </div><!-- /header --> <div data-role="content"> <br> <center>ตัวอย่าง ที่ 1</center><br> <a href="#my_basic_popup" data-rel="popup">Basic Popup</a> <div data-role="popup" id="my_basic_popup"> <p>เนื้อหา และรายละเอียดที่จะแสดงใน popup</p> </div> <br><br><hr> <center>ตัวอย่าง ที่ 2</center><br> <a href="#my_basic_popup2" data-rel="popup" class="ui-btn ui-corner-all ui-shadow ui-btn-inline"> Basic Popup 2 </a> <div data-role="popup" id="my_basic_popup2"> <p>เนื้อหา และรายละเอียดที่จะแสดงใน popup 2</p> </div> <br><hr> <center>ตัวอย่าง ที่ 3</center><br> <p>ชื่อผู้ใช้ <a href="#popupInfo" data-rel="popup" data-transition="pop" class="ui-btn ui-alt-icon ui-nodisc-icon ui-btn-inline ui-icon-info ui-btn-icon-notext" title="Learn more" style="border:0px;background:none;">เพิ่มเติม</a></p> <div data-role="popup" id="popupInfo" class="ui-content" data-theme="a" style="max-width:350px;"> <p>ชื่อสมาชิกต้องเป็นภาษาอังกฤษ</p> </div> <br><hr> <center>ตัวอย่าง ที่ 4</center><br> <a href="#pic1" data-rel="popup" data-position-to="window" data-transition="fade"> <img src="images/pic1.jpg" alt="" style="width:30%"> </a> <div data-role="popup" id="pic1" data-overlay-theme="b" data-theme="b" data-corners="false"> <a href="#" data-rel="back" class="ui-btn ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a> <img src="images/pic1.jpg" style="max-height:512px;" alt=""> </div> <br><br><hr> <center>ตัวอย่าง ที่ 5</center><br> <a href="#popupMenu" data-rel="popup" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-gear ui-btn-icon-left ui-btn-a">การจัดการ...</a> <div data-role="popup" id="popupMenu" data-theme="b"> <ul data-role="listview" data-inset="true" style="min-width:210px;"> <li data-role="list-divider">เลือกรายการ</li> <li><a href="#">รายละเอียด</a></li> <li><a href="#">แก้ไข</a></li> <li><a href="#">ลบข้อมูล</a></li> </ul> </div> <br><br><hr> <center>ตัวอย่าง ที่ 6</center><br> <a href="#popupNested" data-rel="popup" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-bars ui-btn-icon-left ui-btn-b" data-transition="pop">การจัดการ...</a> <div data-role="popup" id="popupNested" data-theme="none"> <div data-role="collapsibleset" data-theme="b" data-content-theme="a" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" style="margin:0; width:250px;"> <div data-role="collapsible" data-inset="false"> <h2>สำหรับสมาชิก</h2> <ul data-role="listview"> <li><a href="#" data-rel="dialog">Menu 1</a></li> <li><a href="#" data-rel="dialog">Menu 2</a></li> </ul> </div><!-- /collapsible --> <div data-role="collapsible" data-inset="false"> <h2>การตั้งค่า</h2> <ul data-role="listview"> <li><a href="#" data-rel="dialog">Menu 3</a></li> <li><a href="#" data-rel="dialog">Menu 4</a></li> </ul> </div><!-- /collapsible --> </div><!-- /collapsible set --> </div><!-- /popup --> <br><br><hr> <center>ตัวอย่าง ที่ 7</center><br> <a href="#popupLogin" data-rel="popup" data-position-to="window" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-check ui-btn-icon-left ui-btn-a" data-transition="pop">เข้าสู่ระบบ</a> <div data-role="popup" id="popupLogin" data-theme="a" class="ui-corner-all"> <form> <div style="padding:10px 20px;"> <h3>กรุณาล็อกอิน</h3> <label for="un" class="ui-hidden-accessible">ชื่อผู้ใช้:</label> <input type="text" name="user" id="un" value="" placeholder="ชื่อผู้ใช้" data-theme="a"> <label for="pw" class="ui-hidden-accessible">รหัสผ่าน:</label> <input type="password" name="pass" id="pw" value="" placeholder="รหัสผ่าน" data-theme="a"> <button type="submit" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-btn-icon-left ui-icon-check">เข้าสู่ระบบ</button> </div> </form> </div> <br><br><hr> <center>ตัวอย่าง ที่ 8</center><br> <a href="#popupDialog" data-rel="popup" data-position-to="window" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-delete ui-btn-icon-left ui-btn-b">ลบรายการ...</a> <div data-role="popup" id="popupDialog" data-overlay-theme="b" data-theme="b" data-dismissible="false" style="max-width:400px;"> <div data-role="header" data-theme="a"> <h1>ลบรายการ?</h1> </div> <div role="main" class="ui-content"> <h3 class="ui-title">ยืนย้นการลบรายการนี้?</h3> <p>หากลบแล้ว ไม่สามารถ เรียกคืนได้.</p> <a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">ยกเลิก</a> <a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">ลบ</a> </div> </div> </div><!-- /content --> <div data-role="panel" id="left_panel" data-display="push"> <ul data-role="listview" data-icon="false" data-divider-theme="a"> <li data-role="list-divider">หัวข้อแบ่ง</li> <li><a href="#">เมนูที่ 1</a></li> <li><a href="#">เมนูที่ 2</a></li> <li><a href="#">เมนูที่ 3</a></li> <li><a href="#">เมนูที่ 4</a></li> <li data-role="list-divider">หัวข้อแบ่ง</li> <li><a href="#">เมนูที่ 6</a></li> <li><a href="#">เมนูที่ 7</a></li> </ul> </div><!-- /panel --> <div data-role="footer" data-position="fixed"> <h4>ส่วน footer ใส่ตามใจชอบ</h4> </div><!-- /footer --> </div><!-- /page --> </body> </html>
ตัวอย่างและโค้ดด้านบน จะรวมตัวอย่าง ที่น่าจะมีการใช้งาน
บ่อยเอาไว้ และจะขออธิบาย แต่ละส่วน ดังนี้
<center>ตัวอย่าง ที่ 1</center><br> <a href="#my_basic_popup" data-rel="popup">Basic Popup</a> <div data-role="popup" id="my_basic_popup"> <p>เนื้อหา และรายละเอียดที่จะแสดงใน popup</p> </div>
ตัวอย่าง ที่ 1 จะเป็นการแสดง popup ธรรมดา ไม่มีการกำหนดอะไรพิเศษ
ปุ่ม link ไม่ได้กำหนด คลาส
<center>ตัวอย่าง ที่ 2</center><br> <a href="#my_basic_popup2" data-rel="popup" class="ui-btn ui-corner-all ui-shadow ui-btn-inline"> Basic Popup 2 </a> <div data-role="popup" id="my_basic_popup2"> <p>เนื้อหา และรายละเอียดที่จะแสดงใน popup 2</p> </div>
ตัวอย่างที่ 2 จะเป็นว่า มีการกหนด คลาส ให้กับปุ่ม link
class="ui-btn ui-corner-all ui-shadow ui-btn-inline"
ui-btn คลาส สำหรับกำหนด มีรุปแบบ เป็นปุ่มกด
ui-corner-all คลาส สำหรับกำหนด ให้มุมโค้ดมน
ui-shadow คลาส สำหรับกำหนด ให้มีเงารอบๆ
ui-btn-inline คลาส สำหรับกำหนด แสดงปุ่มเป็นแนวเดียวกับข้อความ
<center>ตัวอย่าง ที่ 3</center><br> <p>ชื่อผู้ใช้ <a href="#popupInfo" data-rel="popup" data-transition="pop" class="ui-btn ui-alt-icon ui-nodisc-icon ui-btn-inline ui-icon-info ui-btn-icon-notext" title="Learn more" style="border:0px;background:none;">เพิ่มเติม</a></p> <div data-role="popup" id="popupInfo" class="ui-content" data-theme="a" style="max-width:350px;"> <p>ชื่อสมาชิกต้องเป็นภาษาอังกฤษ</p> </div>
ตัวอย่างที่ 3 จะเป็นการกำหนด ปุ่ม link ให้มีลักษณะเป็น icons สำรหับแสดง tooltip
โดยปุ่ม link มี attributes เพิ่มเข้ามา คือ
data-transition="pop" แสดง การเคลื่อนไหว popup แบบ pop (ค่อยๆ ขยายแสดง)
กำหนด style เพื่อยกเลือกขอบของ ปุ่ม icons และพื้นหลัง style="border:0px;background:none;"
title="Learn more" กำหนด title ของ icons
และมี คลาส สำหรับปุ่ม link
class="ui-btn ui-alt-icon ui-nodisc-icon ui-btn-inline ui-icon-info ui-btn-icon-notext"
ui-btn คลาส สำหรับกำหนด มีรุปแบบ เป็นปุ่มกด
ui-alt-icon คลาส สำหรับสลับสี หรือเขียนทับการสลับสีของ icons
ui-corner-all คลาส สำหรับกำหนด ให้มุมโค้ดมน
ui-icon-info คลาส สำหรับรูป ไอคอน ชื่อ info
ui-nodisc-icon คลาส สำหรับไม่แสดง ขอบวงกลมรอบ icons
ui-btn-inline คลาส สำหรับกำหนด แสดงปุ่มเป็นแนวเดียวกับข้อความ
ui-btn-icon-notext คลาส สำหรับแสดงเฉพาะ icons ไม่แสดงข้อความ
ส่วน attributes สำหรับ popup
data-theme="a" สำหรับ กำหนด theme ของ เนื้อหา popup
style="max-width:350px;" สำหรับ กำหนดความกว้างสูงสุด ของเนื้อหา popup
และคลาส สำหรับ popup
class="ui-content"
ui-content สำหรับเพื่มช่องว่างพื้นที่ขอบ กับเนื้อหา มีค่า 15px
<center>ตัวอย่าง ที่ 4</center><br> <a href="#pic1" data-rel="popup" data-position-to="window" data-transition="fade"> <img src="images/pic1.jpg" alt="" style="width:30%"> </a> <div data-role="popup" id="pic1" data-overlay-theme="b" data-theme="b" data-corners="false"> <a href="#" data-rel="back" class="ui-btn ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a> <img src="images/pic1.jpg" style="max-height:512px;" alt=""> </div>
ตัวอย่างที่ 4 จะเป็นการใช้กับการแสดง popup เป็นรูปภาพ ขนาดใหญ่กว่าเดิม
โดยปุ่ม link มี attributes เพิ่มเข้ามาคือ
data-position-to="window" สำหรับ แสดง popup โดยอ้างอิงตำแหน่ง มี window / orgin / #ไอดีที่ต้องการ
data-transition="fade" แสดง popup แบบค่อยปรากฏค่อยชัดขึ้นมา
และสำหรับ popup
มี attributes เพิ่มเข้ามา
data-overlay-theme="b" data-theme="b" data-corners="false"
data-overlay-theme="b" กำหนด theme ให้พื้นหลังของตัวปิดทับ
data-theme="b" กำหนด theme ให้กับ popup
data-corners="false" กำหนดให้ เนื้อหา popup ไม่ต้องแสดงมุมแบบโค้งมน
นอกจากนั้น ใน popup จะมีการเพิ่ม ปุ่ม สำหรับปิดเข้าไป
<a href="#" data-rel="back" class="ui-btn ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a>
มี attributes
data-rel="back" สำหรับ ย้อนกลับหรือปิด popup
คลาสเพิ่มเติม
ui-btn-right คลาสสำหรับ แสดงปุ่มนี้ ในตำแหน่งด้านขวา
<center>ตัวอย่าง ที่ 5</center><br> <a href="#popupMenu" data-rel="popup" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-gear ui-btn-icon-left ui-btn-a">การจัดการ...</a> <div data-role="popup" id="popupMenu" data-theme="b"> <ul data-role="listview" data-inset="true" style="min-width:210px;"> <li data-role="list-divider">เลือกรายการ</li> <li><a href="#">รายละเอียด</a></li> <li><a href="#">แก้ไข</a></li> <li><a href="#">ลบข้อมูล</a></li> </ul> </div>
ตัวอย่างที่ 5 แสดงเมนู แบบ listview
สำหรับปุ่ม link มีคลาสใหม่เพิ่มเข้ามา
ui-btn-icon-left แสดง icons ไว้ที่ตำแหน่งด้านซ้ายของปุ่ม
ui-btn-a คลาส สำหรับ กำหนด theme ปุ่ม
ใสส่วน popup ก็เป็นการนำ listview มาแสดงแบบเมนู
<center>ตัวอย่าง ที่ 6</center><br> <a href="#popupNested" data-rel="popup" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-bars ui-btn-icon-left ui-btn-b" data-transition="pop">การจัดการ...</a> <div data-role="popup" id="popupNested" data-theme="none"> <div data-role="collapsibleset" data-theme="b" data-content-theme="a" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" style="margin:0; width:250px;"> <div data-role="collapsible" data-inset="false"> <h2>สำหรับสมาชิก</h2> <ul data-role="listview"> <li><a href="#" data-rel="dialog">Menu 1</a></li> <li><a href="#" data-rel="dialog">Menu 2</a></li> </ul> </div><!-- /collapsible --> <div data-role="collapsible" data-inset="false"> <h2>การตั้งค่า</h2> <ul data-role="listview"> <li><a href="#" data-rel="dialog">Menu 3</a></li> <li><a href="#" data-rel="dialog">Menu 4</a></li> </ul> </div><!-- /collapsible --> </div><!-- /collapsible set --> </div><!-- /popup -->
ตัวอย่างที่ 6 เป็นการแสดง เมนูแบบ accordian ประยุกต์กับ listview
รายละเอียดไม่มีอะไรเพิ่มเติม
<center>ตัวอย่าง ที่ 7</center><br> <a href="#popupLogin" data-rel="popup" data-position-to="window" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-check ui-btn-icon-left ui-btn-a" data-transition="pop">เข้าสู่ระบบ</a> <div data-role="popup" id="popupLogin" data-theme="a" class="ui-corner-all"> <form> <div style="padding:10px 20px;"> <h3>กรุณาล็อกอิน</h3> <label for="un" class="ui-hidden-accessible">ชื่อผู้ใช้:</label> <input type="text" name="user" id="un" value="" placeholder="ชื่อผู้ใช้" data-theme="a"> <label for="pw" class="ui-hidden-accessible">รหัสผ่าน:</label> <input type="password" name="pass" id="pw" value="" placeholder="รหัสผ่าน" data-theme="a"> <button type="submit" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-btn-icon-left ui-icon-check">เข้าสู่ระบบ</button> </div> </form> </div>
ตัวอย่างที่ 7 เป็นการแสดง form ใน popup ไม่มีรายละเอียดคลาส ใหม่เพิ่มเติม
<center>ตัวอย่าง ที่ 8</center><br> <a href="#popupDialog" data-rel="popup" data-position-to="window" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-delete ui-btn-icon-left ui-btn-b">ลบรายการ...</a> <div data-role="popup" id="popupDialog" data-overlay-theme="b" data-theme="b" data-dismissible="false" style="max-width:400px;"> <div data-role="header" data-theme="a"> <h1>ลบรายการ?</h1> </div> <div role="main" class="ui-content"> <h3 class="ui-title">ยืนย้นการลบรายการนี้?</h3> <p>หากลบแล้ว ไม่สามารถ เรียกคืนได้.</p> <a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">ยกเลิก</a> <a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">ลบ</a> </div> </div>
ตัวอย่างที่ 8 เป็นการแสดง popup คล้าย ๆ การแสดง การยืนยันการดำเนินการ หรือ confirm ใน javascript
ตกแต่งด้วย css ไม่มีเนื้อหาเพิ่มเติม
ตัวอย่างและโค้ด เนื้อหาในตอนนี้ ค่อนข้างมรมาก
ที่เอาโค้ดมาวางไว้ สำหรับ หาเราต้องการใช้งาน ก็สามารถ คัดลอก แล้วนำไปประยุกต์ได้เลย