ผมเชื่อว่าทุกคนรู้จักแน่นอน แต่อย่างไรก็ชมภาพกันเสียหน่อย ไม่เชื่ออย่าลบหลู่
jQuery tab ตัวนี้เป็นปลั๊กอินของ jQuery ที่อยู่ในกลุ่มของ jQuery UI ความง่ายในการใช้งานนั้นไม่ต้องพูดถึง แค่สร้าง html ให้เป็นไปตามโครงสร้างที่เขาแจ้งไว้ กับแค่ .tab() อีกกระทอกเดียว อยู่หมัด
งดงามล้ำเลิศ อีกทั้งยังสามารถเปลี่ยนธีมไปเป็นแบบที่ต้องการได้อีกอย่างไร้ขีดจำกัด
เรามาดูกันดีกว่าครับว่า การสร้างแท็บขึ้นมาใช้งานในเว็บเราสักตัว เหมือนที่เว็บดังๆเขามักนิยมทำกันตอนนี้ นั้นมันง่ายสัดๆ แค่ไหน
อ้อขอกล่าวไว้ก่อนว่า ผมจะไม่ดาวน์โหลดทั้งตัว jQuery และ jQuery UI มาไว้ที่เครื่องนะ ผมจะดูดโดยตรงมาจาก CDN ของ google
รายละเอียดอย่างละเอียด สามารถอ่านได้ที่ ใช้ jQuery และ UI โดยไม่ต้องโหลดมาเก็บในเครื่อง
1. อินคลูดไฟล์ที่จำเป็นเข้ามา
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/i18n/ui.datepicker-th.js"></script> <link type="text/css" rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/redmond/jquery-ui.css" media="all" /> |
2. โครงสร้างแท็บจะเป็นอย่างนี้
<div id="tabs"> <ul> <li><a href="#tabs-1">แท็บ #1</a></li> <li><a href="#tabs-2">แท็บ #2</a></li> <li><a href="#tabs-3">แท็บ #3</a></li> </ul> <div id="tabs-1"> เนื้อหาเท็บที่ 1 </div> <div id="tabs-2"> เนื้อหาเท็บที่ 2 </div> <div id="tabs-3"> เนื้อหาเท็บที่ 3 </div> </div> |
ท่านสังเกตให้ดีนะครับ หัวของแท็บตรงที่ให้เราคลิกแล้วมันจะเปลี่ยนเนื้อหาน่ะ มันจะอยู่ภายใต้โครงสร้าง ul และภายใน li แต่ละตัว หมายถึงแท็บ 1 อัน จำนวนของ li จะต้องเท่ากับ div ที่อยู่ด้านล่างมัน และในแท็ก li จะมีลิ้งก์ด้วย ที่ชี้มายัง div ที่เก็บเนื้อหา
3. เนรมิตให้มันเป็นแท็บ ด้วย jQuery UI
<script type="text/javascript"> $(function() { $("#tabs").tabs(); }); </script> |
ง่ายเหลือแสน
โค้ดทั้งหมด เป็นดังนี้
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/i18n/ui.datepicker-th.js"></script> <link type="text/css" rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/redmond/jquery-ui.css" media="all" /> <title>jQuery UI tab</title> <script type="text/javascript"> $(function() { $("#tabs").tabs(); }); </script> </head> <body> <div id="tabs"> <ul> <li><a href="#tabs-1">แท็บ #1</a></li> <li><a href="#tabs-2">แท็บ #2</a></li> <li><a href="#tabs-3">แท็บ #3</a></li> </ul> <div id="tabs-1"> เนื้อหาเท็บที่ 1 </div> <div id="tabs-2"> เนื้อหาเท็บที่ 2 </div> <div id="tabs-3"> เนื้อหาเท็บที่ 3 </div> </div> </body> </html> |
kai says:
28/01/2553 at 28/01/2553
คือ มีคำถามค่ะ
ตอนนี้เอา jquery 2 ตัวมาใช้ > “jquery lightbox” กับ “jqueryTab”
ทีนี้ พอเราใส่ไปพร้อมกัน ปรากฎว่า มันแสดงแค่เอฟเฟกเดียวง่ะ
(โดยจะแสดงโค้ดอันที่ใส่หลังสุด ก่อนขึ้น body)
แต่ถ้าเราใส่เพียงโค้ดอย่างใดอย่างหนึ่ง ปรากฎว่าสามารถทำงานได้ทั้ง “jquery lightbox” และ “jqueryTab” แต่พอเอามารวมกันแล้วเกี่ยงงาน ตัวที่โพสทีหลังทำงานอยู่โค้ดเดียว – –
ปัญหาคือ เราอยากให้มันแสดงผลได้ทั้งสองอัน พอจะมีวิธีแนะนำหรือปล่าวเอ่ย?
แบบอยากใช้ทั้งสองอัน รักพี่เสียดายน้องอ่ะค่ะ ^ ^”?
ilove says:
14/02/2553 at 14/02/2553
เปิดใน chrome มันไม่ทำงานอ่ะคับ แต่เปิดใน ie และ ff มันทำงานได้ นี้เป็นเรื่องปกติใช่ไหมคับ
administrator says:
15/02/2553 at 15/02/2553
ถือว่าปกติครับ โครมมันเพิ่งเกิดมาไม่นาน การซัพพอร์ตก็เลยอาจจะยังน้อยอยู่ แต่คาดว่าอนาคต ทาง jQuery เองน่าจะแก้ไขตรงจุดนี้ให้ดียิ่งขึ้นแน่นอนครับ
autthapone says:
25/08/2555 at 25/08/2555
น่าเสียดาย
J-com says:
25/02/2553 at 25/02/2553
ตามที่คุณ (kai) ถาม
ผมก๋เจอประมาณนั้นคือใช้ Mootools กับ jquery มันก็ทำแค่อันเดียวอีกอันก็ใช้ไม่ได้
คือ ถ้าเอาอันใดอันหนึ่งออกก็ใช้ได้ตามปกติ
administrator says:
25/02/2553 at 25/02/2553
ถ้าใช้งาน mootools กับ jquery ร่วมกันแล้วมีปัญหา นั่นเป็นเพราะว่า สองตัวนี้มันใช้สัญลักษณ์ $ เหมือนกัน
วิธีแก้ง่ายๆคือ โค้ดของ jQuery ให้ท่านแทนสัญลักษณ์ $ ด้วยคำว่า jQuery ตัวอย่างการเขียน
bggaro says:
16/05/2553 at 16/05/2553
ขอบคุณครับ..
korn says:
17/06/2553 at 17/06/2553
อยากทำให้มันเลื่อนเองได้ด้วยอะครับ
แนะนำด้วยครับ
nam says:
06/09/2553 at 06/09/2553
queryTab น่ะค่ะเมื่อเราใส่ปุ่ม radio button ใน tab-1 และจะกด submit ไปยัง tab-2 น่ะค่ะทามงัยค่ะ คืออยากให้ tab สมมติทามงานตามที่เรากด submit จาก tab-2 แล้วจะเอาไปเก็บในฐานข้อมูล เมื่อเก็บแล้วไม่ทราบว่าจะลิ้งค์กลับมายังงัยค่ะ อยากไปอยู่ใน tab-3 น่ะค่ะ
div says:
06/05/2554 at 06/05/2554
เพิ่ม tap ยังงัยครับ
ลองเพิ่มแล้ว ส่วนคอนเท้นมันแสดง ด้านล่างกรอบ อ่ะครับ
administrator says:
07/05/2554 at 07/05/2554
ดูที่โครงสร้างครับ มันจะเป็นคู่ ระหว่าง li กับ div