jQuery ตอนที่ 2(มันทำกับข้าวได้หรือเปล่า?)(อ่าน21307ครั้ง)
2009-01-22
ก่อนที่เราจะไปลองมือเรียนรู้ด้วยตัวอย่าง เรามาคุยกันก่อนครับว่า ความสามารถหลัก ๆ ของ jQuery นั้นมีอะไรบ้า่ง มันทำกับข้าวได้หรือเปล่า ???? หรือมันอะไรพิเศษ ทำไมคนถึงใช้กันเยอะเหลือเกิน ลุยโล้ด
jQuery ทำอะไรได้บ้าง (What jQuery Does)
ไลบราลี่ jQuery ได้เตรียมลำดับชั้นที่เป็นประโยชน์สำหรับการเขียนสคริปต์ และมันมีประโยชน์มากในทุก ๆ สถานการณ์ที่เราต้องเจอ มันยืดหยุ่น นั่นหมายความว่า เราไม่สามารถยกตัวอย่างให้ครบทุกตัว หรือครอบคลุมได้ในหนังสือเล่มนี้ เพราะความสามารถของฟังก์ชั่นต่าง ๆ ถูกพัฒนาอยู่เรื่อย ๆ อย่างต่อเืนื่อง และบางทีก็มีการเพิ่มขึ้นบ้าง เพราะฉนั้นก็ขอให้ติดตามข่าวสารไปเรื่อย ๆ แล้วกันครับ เรามาดูความสามารถมันคร่าว ๆ กันหน่อย
2009-02-03
- มันเข้าถึงทุกส่วนของหน้าเว็บเราแบบทันใจ (Access parts of a page) หมายความว่า เมื่อก่อน เราจะดึงข้อมูลจากในหน้าเว็บ ต้องอ้างอิงด้วย id หรือ เขียนเป็นโครงสร้างเป็นตอน ๆ ไปคล้าย ๆ กับต้นไม้อ่ะนะ เช่น ต้องการค่าของ tag ที่ต้องการ จะเขียนเป็น document.getElementById(‘xxx’).value นี่ยาวเน้อ แต่ถ้าเป็น jQuery มันจะแบ่งโครงสร้างของ HTML เป็นตอน ๆ ช่วง ๆ แล้วแต่ลักษณะของ tag นั้น ๆ ครับ หมายความว่า ส่วนของ tag ก็เข้าถึงได้ ส่วนของ preperty ก็เข้าถึงได้ ซึ่งอันนี้ jQuery ได้มุ่งมั่น(robust)อาสา(offers)พาเราไปเองครับ เพราะเขาอยากให้เราเข้าถึงส่วนต่าง ๆ ไม่ว่าจะเป็นการตรวจสอบ(inspect) หรือจัดการปรับเปลี่ยน(manipulate) อย่างมีประสิทธิภาพ(efficient) และถูกต้องที่สุด(exactly)
- แก้ไขรูปร่างหน้าตาหรือการแสดงผลตามใจเรา (Modify the appearance of a page) คุณสมบัติข้อนี้เดิมที CSS สามารถเข้ามาช่วยชูโรง เพื่อจะได้ให้แสดงผลสวยงาม พอที่จะดึงดูด(influence)ให้คนสนใจได้ แต่มันไม่เ็ป็นไปตามที่คาด(fall short)ครับ สาเหตุเพราะ browser ทุกตัวไม่ได้มองเห็น CSS เป็นรูปแบบมาตรฐาน ข้อนี้ท่านคงจะพอเคยเจออยู่บ้าง เช่นเข้าจาก firefox ปกติดีแต่แสดงผลกับ IE มีปัญหาหรือ IE ต่างเวอร์ชั่นกันนิดหน่อยก็มีปัญหาเสียแล้ว แต่ไม่เป็นไร jQuery สามารถช่วยให้ช่องว่างนี้แคบลงได้ โดยการเตรียมรูปแบบให้เราสับเปลี่ยน css ไปมาให้เข้ากับ browser นั้น ๆ ได้ หรือกำหนดคุณสมบัติส่วนตัว(individual) ให้กับสิ่งแวดล้อมที่แตกต่างกันได้ อันนี้ประยุกต์ใช้ในด้านอื่น ๆ ได้เยอะเลยแหละ
- เปลี่ยนแปลงเนื้อหาได้ทันใจ(After the content of a page) หมายความว่า jQuery ไม่ได้จำกัดแค่ความสวยงามเท่านั้น มันสามารถแก้ไขเนื้อหาได้ด้วยการเคาะแป้นพิมพ์ครั้งสองครั้ง (few keystroke) (อยากรู้แล้วสิ ว่าจริงเปล่า) ทำให้ข้อความเปลี่ยน ภาพถูกอัพโหลดหรือเปลี่ยนไปมาได้ และรายการต่าง ๆ สามารถย้อนกลับไปมาได้ (โอ้วเทพ) หรือปรับโครงสร้างของ HTML ให้เขียนใหม่หรือยืดเข้า ยืดออกได้ สิ่งที่พูดมาทั้งหมดนี้สามารถทำได้โดย API ฮ่ะ
- ตอบสนองต่อปฏิกริยาของผู้ใช้ทันที(Respond to a user’s interaction with a page) เหตุการณ์ที่ซับซ้อนและพฤติกรรมมากมายต่าง ๆ ที่เกิดขึ้นในแต่ละหน้า ที่เราใช้งานหรือคนอื่นใช้นั้น จะไม่มีประโยชน์เลยถ้าเราไม่สามารถควบคุมมันได้ jQuery บอกว่าทำอย่างนี้ไม่ได้นะ เราต้องจัดการมัน(อันนี้เพิ่มเอาฮ่ะ) เลยอาสาจะพาเราไปจัดการเหตุการณ์ที่หลากหลาย(variety) เหล่านั้น อย่างเช่น (ตัวอย่าง งง ๆ ผมไม่เข้าใจเองแหละ ครับ เดี๋ยวไปทำความเข้าใจก่อนค่อยมาต่อให้)
- เพิ่มชีวิตชีวาให้เว็บเราได้ (Add animation to a page) สีสันอย่างหนึ่งที่มีในเว็บไซต์คือการที่เว็บเป็นลักษณะไดนามิก คือมีการเคลื่อนไหว ตอบสนองต่อผู้ใช้ และดูจะได้ผลดีด้วยถ้าเราทำได้แบบนั้น แน่นอนย่อมมีการเปลี่ยนแปลงข้อมูลให้ผู้ใช้ได้เสพตลอดเวลา เป็นการหนักมากครับสำหรับผู้ออกแบบ ถ้าปรับเปลี่ยนเองด้วยมือก็คงจะไม่ไหว ทั้งผู้ทำกราฟิกด้วยแฟลชและเนื้อหาบนเว็บ แต่ jQuery ก็ได้สร้างชุดข้อมูล( Array) เพื่อให้เราสะดวกมากขึ้น ช่วยได้เยอะเลย ด้วยการสร้างคุณสมบัีติสำเร็จรูปมาให้เราใช้งานด้านการเคลื่อนไหวต่าง ๆของข้อมูล เช่น การเลื่อน (fade) เลื่อนซ้าย-ขวา( scroll) เป็นต้น
- เรียกข้อมูลขึ้นมาแสดงทันทีโดยไม่ต้องรีเฟลชหน้านั้น ๆ(Retrieve information from a server without refreshing a page) สงสัยจะได้แปลไทยเป็นไทยครับพี่น้อง ก็หมายความว่า ถ้าเราจะเอาข้อมูลล่าสุดใน server ขึ้นมาแสดงก็ต้องกด F5 หรือ refresh หน้าจอใหม่ตลอด เพื่อให้มันไปดึงข้อมูลจาก server มาล่าสุด ซึ่งตัว jQuery ตัวนี้ก็ได้รวบรวมเทคนิค ajax เข้ามาอยู่ด้วย เลยช่วยให้เราไม่ต้อง refresh หน้าจอครับ
- ทำคำสั่งยาก ๆ ทั่วไปของ javascript ให้ง่ายขึ้นเห็นทันตา (Simplify common Javascript tasks) ก็หมายความว่าเมื่อก่อนการใช้งานคำสั่ง javascript นั้นยากมาก ตัว jQuery เลยจัดการปรับเปลี่ยน เขียน library ขึ้นมาครอบบางคำสั่งให้มันง่ายขึ้นซะ อย่างเช่น การทำงานซ้ำ ๆ และการเข้าถึง array เป็นต้น ไว้จะบอกกล่าวกันในตัวอย่างฮ่ะ
ก็เอาเป็นว่าไว้แค่นี้ก่อนละกันครับ ไว้อ่านเล่มอื่น แปลถู ๆ ไถ่ ๆ เล่มอื่น แล้วถ้าเห็นว่ามันแปลกจากนี่จะมาเพิ่มให้ครับ ถ้าแปลตกหล่น หรือมั่วก็ขอบอกกันบ้างเด้อ อย่าปล่อยให้ webmaster งมโข่งอยู่คนเดียวนะครับบบ สงสัยอนาคตกลับมาอ่านคงจะมีฮากันบ้างล่ะ ขอตัวไปทำบทความอื่นให้เสร็จก่อนนะครับ ขอบคุณที่ติดตามกันมา
เครดิต
E-book -> Learning jQuery





















June 3rd, 2009 at 10:54 am
มันเป็นของฟรีเปล่าคับ
June 3rd, 2009 at 11:53 am
ฟรีหมายถึง ตัว jQuery หรือ E-book ครับ ถ้า jQuery ฟรีครับ แต่ถ้า E-book จริง ๆ แล้วไม่ฟรีครับ
October 16th, 2009 at 1:13 pm
คือผมจะใส่ jquery ใน page เดียวกัน 2 ชุดครับ ชุดแรกใช้สำหรับ menu ที่คล้าย ๆ iphone ครับ แล้วอีกชุดเป็น banner ครับ แล้วมันเกิดปัญหาคือมันจะทำอย่างเดียวครับ ผมต้องแก้ยังไงครับให้มันทำทั้งสองอย่างครับ
ชุดแรก
<%–
–%>
ชุดสอง
ผมต้อง comment อันใดอันหนึ่งไว้เพื่อให้อีกอันทำงานครับ ต้องแก้ไขยังไงครับ
October 16th, 2009 at 1:47 pm
อืมมม จริง ๆ อยากดูโค๊ดด้วยครับ ไม่งั้นบอกไม่ถูกเหมือนกัน แต่้ถ้าให้เดา ผมไม่แน่ใจว่า ตัวแปรใช้ร่วมกัน หรือเปล่าครับ ปกติถ้าเขียนแยกอิสระ ด้วยฟังก์ชั่น ไม่มีปัญหาอะไรครับ ผมเคยใช้หลายอย่างด้วยกัน ก็ไม่มีปัญหาใด ๆ นะครับ ลองเช็คดูครับ