อ่านเนื้อหา และรายละเอียดจากเว็บไซต์ต้นฉบับ พร้อมดาวน์โหลดไฟล์ ด้วยตัวเอง ได้ที่
http://www.eyecon.ro/colorpicker/
หรือดาวน์โหลดไฟล์ ส่วนที่จำเป็น กับตัวอย่าง ประยุกต์พร้อมใช้งานได้ที่
https://www.ninenik.com/download/colorpicker.rar
รูปภาพประกอบ ตำแหน่งและการใช้งาน ส่วนต่างๆ ของจานสี
ตำแหน่งที่ 1 เลือกสีที้ต้องการ คลิกเมาส์ค้างเลื่อนขึ้น เลื่อนลง
ตำแหน่งที่ 2 เลือกโทนสี ความเข้มของสี
ตำแหน่งที่ 3 แสดงสีที่เลือกกำลังเลือก
ตำแหน่งที่ 4 แสดงสีก่อนหน้า หรือสีเริ่มต้นก่อนทำการเลือก
หากต้องการค่าสีเดิม คลิกที่ตำแหน่งที่ 4
ตำแหน่งที่ 5 คลิกเพื่อยืนยันนำสีที่เลือกไปใช้งาน
ตัวอย่างการแสดงจานสี แบบ inline หรือแสดงในตำแหน่งที่ต้องการ
ใช้เมื่อต้องการเลือกสีจากจานสีแบบทันที เมื่อได้สีที่ต้องการก็คัดลอกจาก
textbox ในจานสีที่แสดงค่าสีที่เป็นเลขฐาน 6 ไปใช้งาน
ให้แสดงแบบ inline ใน tag p id=colorpickerHolder
การแสดงจานสี แบบ inline หรือแสดงในตำแหน่งที่ต้องการ
การแสดงจานสี กำหนดค่าไว้ใน textbox
การแสดงจานสี กำหนดค่าไว้ใน input hidden
โค้ดตัวอย่างพร้อมคำอธิบาย
<!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" /> <title>jquery color picker</title> <!--<link rel="stylesheet" href="css/colorpicker.css" type="text/css" />--> <link rel="stylesheet" href="css/custom_colorpicker.css" type="text/css" /> <style type="text/css"> /* css กำหนดรูปแบบของ textbox สำหรับจานใช้งานจานสีตามต้องการ */ .colorPicker_css{ /* width:25px; */ } /* ส่วนของ css กำหนดสำหรับจานสีใช้กับ input hidden */ .containWidget{ position:relative; display:block; width:30px; height:30px; overflow:hidden; } .colorWidget{ position:absolute; cursor:pointer; top:-3px; left:-3px; } </style> </head> <body> <br /> การแสดงจานสี แบบ inline หรือแสดงในตำแหน่งที่ต้องการ<br /> <p id="colorpickerHolder"></p> การแสดงจานสี กำหนดค่าไว้ใน textbox <br /> <p><input type="text" class="colorPicker_css" maxlength="6" size="6" id="colorpickerField1" value="00ff00" /></p> <p><input type="text" class="colorPicker_css" maxlength="6" size="6" id="colorpickerField3" value="0000ff" /></p> <p><input type="text" class="colorPicker_css" maxlength="6" size="6" id="colorpickerField2" value="ff0000" /></p> การแสดงจานสี กำหนดค่าไว้ใน input hidden<br /> <div class="containWidget"> <img class="colorWidget" src="images/custom/select.png" border="0" /> <input name="my_color1" type="hidden" id="my_color1" value="000000" /> </div> <br /> <div class="containWidget"> <img class="colorWidget" src="images/custom/select.png" border="0" /> <input name="my_color2" type="hidden" id="my_color2" value="ff0000" /> </div> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript" src="js/colorpicker.js"></script> <script type="text/javascript"> $(function(){ // ให้แสดงแบบ inline ใน tag p id=colorpickerHolder $('#colorpickerHolder').ColorPicker({ // flat: true, // กำหนดให้แสดงแบบ inline color:'#000000' // ค่าสีเริ่มต้นที่แสดง }); // ส่วนของการแสดงจานสี กำหนดค่าไว้ใน textbox // วนลูปกำหนดค่าสีพื้นหลังของ textbox ให้เท่ากับค่าของ textbox นั้นๆ $('.colorPicker_css').each(function(){ $(this).css("background","#"+$(this).val()); }); // กำหนดให้ textbox ที่มี class=colorPicker_css แสดงจานสีเมื่อคลิก $('.colorPicker_css').ColorPicker({ livePreview:true, // เมื่อพิมพ์ขณะแสดงค่าสี ให้จานสีเปลี่ยนสีที่เลือกตามค่าที่พิมพ์ onBeforeShow: function () { // ฟังก์ชันทำงานก่อน ทำการเลือกค่าสี $(this).css("background","#"+$(this).val()); //เปลี่ยนสีพื้นหลังให้เท่ากับค่าใน textbox นั้นๆ $(this).ColorPickerSetColor(this.value); //กำหนดค่าสีเริ่มต้นในจานสี }, onSubmit: function(hsb, hex, rgb, el){ // ฟังก์เมื่อทำการเลือกค่าสีแล้ว $(el).val(hex); //ให้ค่าของ textbox เท่ากับค่าสีที่เลือก $(el).css("background","#"+hex); // เปลี่ยนสีพื้นหลัง textbox ให้เท่ากับค่าสีที่เลือก $(el).ColorPickerHide(); //ปิดจานสี } }) .bind('keyup', function(){ //เพิ่ม event เมื่อพิมพ์ที่ textbox $(this).ColorPickerSetColor(this.value); // ให้กำหนดค่าเริ่มต้นจานสี เป็นค่าใน textbox }); // การแสดงจานสี กำหนดค่าไว้ใน input hidden // วนลูปกำหนดค่าสีพื้นหลังของ ปุ่มเลือกค่าสี ให้เท่ากับค่าของ input hidden ด้านหลัง $('.colorWidget').each(function(){ $(this).css("background","#"+$(this).next("input").val()); }); // กำหนดให้ ปุ่มเลือกค่าสี ที่มี class=colorWidget แสดงจานสีเมื่อคลิก $(".colorWidget").ColorPicker({ // eventName:'mouseover', //อาจกำหนดเป็น mouseover ค่าเริ่มต้นคือ เมื่อคลิกเมาส์ 'click' onBeforeShow: function () { // ฟังก์ชันทำงานก่อน ทำการเลือกค่าสี $(this).ColorPickerSetColor($(this).next("input").val()); // กำหนดค่าสีเริ่มต้นเท่ากับค่าใน input hidden }, onSubmit: function(hsb, hex, rgb, el) { // ฟังก์เมื่อทำการเลือกค่าสีแล้ว $(el).css("background","#"+hex); //กำหนดสีพื้นหลังให้กับปุ่มเลือกค่าสี เท่ากับ ค่าสีที่เลือก $(el).next("input").val(hex); // กำหนดค่าสีที่เลือกให้กับ input hidden $(el).ColorPickerHide(); //ปิดจานสี } }); // event อื่นๆ เพิ่มเติมหากต้องการใช้งาน // onShow function ฟังก์ชันเรียกใช้เมื่อจานสีแสดง // onBeforeShow function ฟังก์ชันเรียกใช้ก่อนจานสีจะแสดง // onHide function ฟังก์ชันเรียกใช้เมื่อปิดจานสี // onChange function ฟังก์ชันเรียกใช้เมื่อเปลี่ยนสี // onSubmit function ฟังก์ชันเรียกใช้เมื่อเลือกสีที่ต้องการ }); </script> </body> </html>