ตอนที่ 2 เป็นการทำความเข้าใจ การทำงาน ของสวนต่างๆ อย่างง่าย
เพื่อให้พอได้เห็นรูปแบบ
ต่อจากเนื้อหา ตอนแรก
เริ่มต้นสร้าง jQuery plugin อย่างง่าย ตอนที่ 1
https://www.ninenik.com/content.php?arti_id=470 via @ninenik
โดยในตอนนี้ เราจะไม่มีการส่งค่าเพิ่มเติม เข้าไปใน plugin
แต่จะมีการกำหนด ค่าเริ่มต้น เพื่อศึกษา การเรียกใช้งาน
เงื่อนไขง่ายๆ คือ ให้ plugin นี้ทำการเปลี่ยนสีพื้นหลัง เป็นสีเหลือง
เมื่อมีการเรียกใช้งาน
เราจะกำหนดค่าไปในส่วนนี้
1 2 3 4 5 6 | // ส่วนนี้ สำหรับกำหนดค่าเริ่มต้น var defaults={ background: "yellow" // กำหนดสีพื้นหลัง ในค่าเริ่มต้นเป็น สีเหลือง }; |
ดังนั้น ส่วน สำหรับเป็นตัวแปร object ที่มีการกำหนด ค่าเริ่มต้น
1 2 | // ส่วนสำหรับ เป็นต้วแปร รับค่า options หากมี หรือใช้ค่าเริ่มต้น ถ้ากำหนด var settings = $.extend( {}, defaults, options ); |
หรือที่เราสามารถเขียนในรูปแบบนี้ก็ได้
1 2 3 | var settings = $.extend( {}, { background: "yellow" // กำหนดสีพื้นหลัง ในค่าเริ่มต้นเป็น สีเหลือง }, options ); |
ก็จะทำให้เราได้ ค่าตัวแปร object ชื่อ
settings.background มีค่าเป็น yellow ตามที่กำหนด
ต่อจากนี้ เมื่อเราได้ค่า ตัวแปร ค่าสีพื้นหลังแล้ว เราจะเอาไปใช้งาน
โค้ตสำหรับ การทำงานของ plugin ของเราคือ แค่เปลี่ยนสีพื้นหลัง
ด้วย ฟังก์ชั่น css ของ jQuery
1 | $( this ).css( "background-color" ,settings.background); |
เท่านี้ plugin อย่างง่าย เมื่อมีการเรียกใช้งาน
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | // JavaScript Document ( function ($){ // setbackground คือชื่อของ plugin ที่เราต้องการ ในที่นี้ ใช้ว่า setbackground $.fn.setbackground = function ( options ) { // กำหนดให้ plugin ของเราสามารถ รับค่าเพิ่มเติมได้ มี options // ส่วนนี้ สำหรับกำหนดค่าเริ่มต้น var defaults={ background: "yellow" // กำหนดสีพื้นหลัง ในค่าเริ่มต้นเป็น สีเหลือง }; // ส่วนสำหรับ เป็นต้วแปร รับค่า options หากมี หรือใช้ค่าเริ่มต้น ถ้ากำหนด var settings = $.extend( {}, defaults, options ); /// คืนค่ากลับ การทำงานของ plugin return this .each( function () { $( this ).css( "background-color" ,settings.background); // โค้ตสำหรับ การทำงานของ plugin }); }; })(jQuery); |
ก็จะทำให้ พื้นหลัง ของ object ที่เรียกใช้งานมีพื้นหลังเป็นสีเหลือง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title> </title> </head> <body> <div style= "margin:auto;width:75%;" > <h4 class = "i_h4" >How to Create a Basic Plugin</h4> <p>Sometimes you want to make a piece of functionality available throughout your code. </p> </div> <script src= "//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" ></script> <script src= "js/jquery.setbackground.js" ></script> <script type= "text/javascript" > $( function (){ // การเรียกใช้งาน plug in $( ".i_h4" ).setbackground(); }); </script> </body> </html> |
เนื้อหาในตอนที่ 3 จะแสดงถึง วิธีการส่งค่า options เพื่อให้
plugin ของเราใช้งาน