AJAX Color Picker เเถบสีปรับค่าได้

jQuery & Ajax Knowledge ความรู้เกี่ยวกับ Javascript , jQuery และ Ajax

Moderator: mindphp, ผู้ดูแลกระดาน

theoneozz
PHP Super Member
PHP Super Member
โพสต์: 313
ลงทะเบียนเมื่อ: 07/01/2019 12:19 pm

AJAX Color Picker เเถบสีปรับค่าได้

โพสต์ที่ยังไม่ได้อ่าน โดย theoneozz »

Ajax Color Picker คือ การปรับค่าเเถบสีได้ตามใจชอบทำให้ผู้ใช้งานสามารถปรับค่าสีได้ตามความพึ่งพอใจ

ภายในจะประกอบด้วย
1.หน้าที่เเสดงเเถบสี
2.JavaScript ที่ไว้เเสดงฟังก์ชั่นเมื่อเลื่อนตัวปรับค่าสีเเล้วจะทำการเปลี่ยนสีไปตามที่ผู้ใช้เลือก

ตัวอย่างโค้ดเเสดงหน้าเว็บปรับค่าสี

โค้ด: เลือกทั้งหมด

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI (Slider) -</title>
  <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">
  <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
  <link rel="stylesheet" href="jqueryui/style.css">
  <style>
  #red, #green, #blue {
    float: left;
    clear: left;
    width: 300px;
    margin: 15px;
  }
  #swatch {
    width: 120px;
    height: 100px;
    margin-top: 18px;
    margin-left: 350px;
    background-image: none;
  }
  #red .ui-slider-range { background: #ef2929; }
  #red .ui-slider-handle { border-color: #ef2929; }
  #green .ui-slider-range { background: #8ae234; }
  #green .ui-slider-handle { border-color: #8ae234; }
  #blue .ui-slider-range { background: #729fcf; }
  #blue .ui-slider-handle { border-color: #729fcf; }
  </style>
  <script>
  function hexFromRGB(r, g, b) {
    var hex = [
      r.toString( 16 ),
      g.toString( 16 ),
      b.toString( 16 )
    ];
    $.each( hex, function( nr, val ) {
      if ( val.length === 1 ) {
        hex[ nr ] = "0" + val;
      }
    });
    return hex.join( "" ).toUpperCase();
  }
  function refreshSwatch() {
    var red = $( "#red" ).slider( "value" ),
      green = $( "#green" ).slider( "value" ),
      blue = $( "#blue" ).slider( "value" ),
      hex = hexFromRGB( red, green, blue );
    $( "#swatch" ).css( "background-color", "#" + hex );
  }
  $(function() {
    $( "#red, #green, #blue" ).slider({
      orientation: "horizontal",
      range: "min",
      max: 255,
      value: 127,
      slide: refreshSwatch,
      change: refreshSwatch
    });
    $( "#red" ).slider( "value", 255 );
    $( "#green" ).slider( "value", 140 );
    $( "#blue" ).slider( "value", 60 );
  });
  </script>
</head>
<body class="ui-widget-content" style="border:0;">
 
<p class="ui-state-default ui-corner-all ui-helper-clearfix" style="padding:4px;">
  <span class="ui-icon ui-icon-pencil" style="float:left; margin:-2px 5px 0 0;"></span>
  เลือกค่าสี
</p>
 
<div id="red"></div>
<div id="green"></div>
<div id="blue"></div>
 
<div id="swatch" class="ui-widget-content ui-corner-all"></div>
 
 
</body>
</html>
ตัวอย่างโค้ด JavaScript ที่มีฟังก์ชั่นปรับค่าสีอยู่

โค้ด: เลือกทั้งหมด

 <script>
  function hexFromRGB(r, g, b) {
    var hex = [
      r.toString( 16 ),
      g.toString( 16 ),
      b.toString( 16 )
    ];
    $.each( hex, function( nr, val ) {
      if ( val.length === 1 ) {
        hex[ nr ] = "0" + val;
      }
    });
    return hex.join( "" ).toUpperCase();
  }
  function refreshSwatch() {
    var red = $( "#red" ).slider( "value" ),
      green = $( "#green" ).slider( "value" ),
      blue = $( "#blue" ).slider( "value" ),
      hex = hexFromRGB( red, green, blue );
    $( "#swatch" ).css( "background-color", "#" + hex );
  }
  $(function() {
    $( "#red, #green, #blue" ).slider({
      orientation: "horizontal",
      range: "min",
      max: 255,
      value: 127,
      slide: refreshSwatch,
      change: refreshSwatch
    });
    $( "#red" ).slider( "value", 255 );
    $( "#green" ).slider( "value", 140 );
    $( "#blue" ).slider( "value", 60 );
  });
  </script>
เมื่อนำ 2 ส่วนด้านบนมารวมกันจะได้ผลลัพธ์ดังนี้

ผลลัพธ์ที่ 1 เมื่อเลื่อนเเถบไปทางซ้ายสุด
b1.png
b1.png (23.05 KiB) Viewed 2260 times
ผลลัพธ์ที่ 2 เมื่อเลื่อนเเถบไว้ตรงกลาง
b2.png
b2.png (29.14 KiB) Viewed 2260 times
ผลลัพธ์ที่ 3 เมื่อเลื่อนเเถบไปขวาสุด
b3.png
b3.png (23.23 KiB) Viewed 2260 times
จากภาพเมื่อเราเลื่อนเเถบไปทางซ้ายหรือทางขวา ก็จะทำให้เกิดสีได้ทั้งสองด้าน โดยถ้าเลื่อนไปทางซ้ายจะเป็นสีโทนเข้ม เเละถ้าเลื่อนไปทางขวาจะได้สีที่เป็นโทนอ่อนโดยเราสามารถเลื่อนเเถบสีได้ตามใจชอบเพื่อให้เกิดสีที่ตรงตามความต้องการของผู้ใช้งาน

(ที่มา : http://www.w3big.com )
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : jQuery & Ajax
- สอนการใช้งาน jQuery & Ajax
- ถาม-ตอบปัญหาเกี่ยวกับ jQuery & Ajax
- ศึกษาบทเรียนเกี่ยวกับ JavaScript
- ศึกษาบทเรียนเกี่ยวกับ jQuery
- ศึกษาบทเรียนเกี่ยวกับ Ajax
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 36