Interactive UI With jQuery
posted on 22 Aug 2010 09:36 by infinite-loop in jQueryวันนี้เริ่มหัวข้อด้วยภาษาอังกฤษเลยทีเดียว หุหุ ที่จริงก็ไม่อยากจะอินเตออะไรหรอกนะ แต่เพราะถ้าใช้ภาษาไทยหัวข้อคงยาวซัก 3 บรรทัดได้ ก็เลยอินเตอร์ก็เค้าหน่อย :P
อืม..เข้าเรื่องดีกว่า Interactive UI(User Interface) ก็คือการเขียน หน้าจอ website ของเราให้มีการโต้ตอบกับผู้ใช้งาน ซึ่งบางคนก็นิยมใช้ flash นำการทำ interactive ui แต่วันนี้เราจะมาดูกันว่า javascript ธรรมดาๆก็ทำให้หน้าจอของเว็บเราน่าสนใจขึ้นมาได้เหมือนกัน
ซึ่งถ้าจะพูดถึง interactive ui สำหรับ jQuery แล้วล่ะก็ไม่ใช่เรื่องยากเลย เพราะ jQuery ได้เตรียมชุดของ plugin ที่ใช้สำหรับเพิ่มลูกเล่นให้ ui ของเราเอาไว้เรียบร้อยแล้ว โดย plugin ชุดนี้มีชื่อว่า jQuery UI ใครสนใจก็ตามลิงค์ไปเลยครับ :)
ในหน้า download นั้น มันก็จะมีให้เราเลือกว่าจะโหลด plugin ตัวไหนมามั่ง และสามารถเลือก theme ของ plugin ได้อีกตะหาก
โดยหลักๆแล้วที่เราต้องใช้จริงๆก็มีอยู่ 2 กลุ่ม ก็คือ Interaction กับ Widget
Interaction คือการปฏิสัมพันธ์กะผู้ใช้งาน(ศัพท์ยากจัง -"- ใครมีคำที่เข้าใจง่าย โปรดบอกที อิอิ) เช่น draggable กะ droppable ก็เอาไว้ทำให้ DOM element ในหน้าเว็บของเราสามารถลากวางได้
resizeable เอาไว้ทำให้ DOM element สามารถย่อขยายได้ อะไรประมาณนั้น :)
ส่วน Widget นั้นคือ เครื่องมือเพิ่มเติมที่นักพัฒนาเว็บส่วนใหญ่ต้องการใช้ แต่ HTML ปกติดันไม่มีมาให้ นั่นเอง เช่น tab, slider, datepicker(ปฎิทินเอาไว้เลือกวันที่) เป็นต้น
จาก plugin พวกนี้เราสามารถทำให้ web ของเราน่าสนใจขึ้นมาได้เยอะเลยทีเดียว
ส่วนเรื่องการนำไปใช้นั้น ก็แค่ download plugin ที่ต้องการ แล้วก็ include ไฟล์ plugin นั้นๆเข้ามาที่หน้าเว็บของเราด้วย tag script
เช่น <script type='text/javascript' src='ชื่อ file ของเรา' />
แล้วก็ include stylesheet ด้วย tag link
เช่น <link href="ชื่อ file css" rel="stylesheet" type="text/css">
จากนั้นก็เรียกใช้งาน plugin เช่น ถ้าเราอยากได้ datepicker เราก็ต้องสร้าง div tag มาหนึ่งอัน วางไว้ในตำแหน่งที่เราต้องการแสดง datepicker.... อ้อ อีกอย่างอย่าลืมใส่ id ให้ div tag ด้วยนะครับ
จากนั้นเราก็เขียน code ด้วย javascript ประมาณนี้
$("#id ของ div tag").datepicker();
เราก็จะได้ datepicker มาใช้อย่างง่ายดาย :) ซึ่ง plugin แต่ละตัวของ jQuery UI นั้น จะมี option ให้ set ได้มากมาย อย่างเช่น การ set date format หรือรูปแบบการแสดงวันที่ ก็จะมี option dataFormat ให้ใช้ดังตัวอย่าข้างล่าง ที่เราจะ set data format ให้เป็น วัน/เดือน/ปี
$("#id ของ div tag").datepicker(dateFormat: 'dd/mm/yy');
ซึ่งรายละเอียดของ plugin และ option ทั้งหมดก็ตามไปดูได้จาก link ที่ให้ไว้ครับ