原生js实现一个自定义色块的取色器颜色选择器效果代码

代码语言:html

所属分类:选择器

代码描述:原生js实现一个自定义色块的取色器颜色选择器效果代码

代码标签: js 颜色 选择器

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <style>

        .color-picker-container {
      display: inline-block;
      background: #5d5f60 none repeat scroll 0% 0%;
      border-radius: 4px;
      border: 2px solid #f8fafb;
    }
    .color-picker-container .picker-container .canvas-container {
      margin: 20px;
      position: relative;
      float: left;
      width: 200px;
      display: inline-block;
      background: #5D5F60;
    }
    .color-picker-container .picker-container .canvas-container.active {
      display: block;
    }
    .color-picker-container .picker-container .canvas-container canvas {
      cursor: crosshair;
      border-radius: 50%;
      box-shadow: 0 0 0 4px #E8E8E8;
      background: #E6D3D3;
    }
    .color-picker-container .picker-container .canvas-container .pointer {
      width: 15px;
      height: 15px;
      border: 2px solid #fff;
      border-radius: 50%;
      position: absolute;
      pointer-events: none;
      background: rgba(0, 0, 0, 0.1);
    }
    .color-picker-container .picker-container .canvas-container input {
      margin-top: 10px;
      width: 100%;
      height: 30px;
      text-align: center;
      background: #353738;
      border: 0;
      color: #fff;
    }
    .color-picker-container .picker-container .slider-container {
      width: 15px;
      float: right;
      position: relative;
      margin: 15px;
    }
    .color-picker-container .picker-container .slider-container .slider {
      width: 15px;
      height: 249px;
      background: #000;
    }
    .color-picker-container .picker-container .slider-container .pointer {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 5px 0 5px 10px;
      border-color: transparent transparent transparent #007bff;
      position: absolute;
      left: -8px;
    }
    .color-picker-container .palletes-container {
      float: right;
      width: 275px;
    }
    .color-picker-container .palletes-container .palette {
      width: 35px;
      height: 35px;
      float: right;
      border-radius: 4px;
      margin: 5px;
      box-shadow: inset 0px 2px 1px rgba(0, 0, 0, 0.28);
      cursor: pointer;
    }
    .color-picker-container .palletes-container .palette.active {
      box-shadow: 0 0 0 3px #3F3F40;
    }
    .color-picker-container .palletes-container .palette.add {
      border: 2px dashed #bababa;
      box-shadow: inherit;
      position: relative;
    }
    .color-picker-container .palletes-container .palette.add:after {
      content: '+';
      font-size: 24px;
      color: #bababa;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      text-align: center;
      line-height: 30px;
    }
    </style>
</head>

<body>
    <div id="picker"></div>

    <script>
        var ColorPicker;
    
     (function() {
    
       function insertBefore(element, before) {
         parent = before.parentNode;
         parent.insertBefore(element, before);
       }
    
       function extend(defaults, options) {
         var extended = {};
         var prop;
         for (prop in defaults) {
           if (Object.prototype.hasOwnProperty.call(defaults, prop)) {
             extended[prop] = defaults[prop];
           }
         }
         for (prop in options) {
           if (Object.prototype.hasOwnProperty.call(options, prop)) {
             extended[prop] = options[prop];
           }
         }
         return extended;
       };
    
       function hasClass(element, classname) {
         var className = " " + classname + " ";
         if ((" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" " + classname + " ") > -1) {
           return true;
         }
         return false;
       }
    
       function removeClass(node, className) {
         node.className = node.className.replace(
           new RegExp('(^|\\s+)' + className + '(\\s+|$)', 'g'),
           '$1'
         ).replace(/ +(?= )/g, '').trim();
       }
    
       function addClass(element, className) {
         if (!hasClass(element, className)) {
           element.className += ' ' + className;
           element.className = element.className.replace(/ +(?= )/g, '').trim()
         }
       }
    
       ColorPicker = function(element, options) {
    
         this.options = extend({
           color: '#e7e7e7',
           palettes: ['#646fff', '#fffa1d', '#ffa21f', '#ff391d'],
           onUpdate: function() {}
         }, options);
    
         this.options.palettes.unshift(this.options.color);
    
         this.hex = this.options.color;
         this.rgb = this.HEXtoRGB(this.hex);
         this.hsv = this.RGBtoHSV(this.rgb[0], this.rgb[1], this.rgb[2]);
         this.dom = {};
         this.dom.container = document.createElement('div');
         this.dom.container.className = 'color-picker-container';
    
         element.appendChild(this.dom.container);
    
         this.initPicker();
    
         this.initPalettes();
       }
    
       ColorPicker.prototype.initPicker = function() {
    
         this.dom.picker = {};
         this.dom.picker.container = document.createElement('div');
         this.dom.picker.container.className = 'picker-container';
    
         this.dom.container.appendChild(this.dom.picker.container);
    
         this.dom.picker.canvas = {};
    
         this.dom.picker.canvas.container = document.createElement('div');
         this.dom.picker.canvas.container.className = 'canvas-container';
         this.dom.picker.container.appendChild(this.dom.picker.canvas.container);
    
         this.dom.picker.canvas.canvas = document.createElement('canvas');
         this.dom.picker.canvas.canvas.className = 'canvas';
    
         this.dom.picker.canvas.pointer = document.createElement('div');
         this.dom.picker.canvas.pointer.className = 'pointer';
    
         var ctx = this.dom.picker.canvas.canvas.getContext('2d'),
           image = new Image,
           $this = this,
           dragging = false;
    
         this.dom.picker.canvas.canvas.setAttribute('width', 200);
         this.dom.picker.canvas.canvas.setAttribute('height', 200);
         this.dom.picker.canvas.container.appendChild(this.dom.picker.canvas.canvas);
         this.dom.picker.canvas.container.appendChild(this.dom.picker.canvas.pointer);
    
         // image.src = 'images/wheel copy.png';
         image.src = 'data:image/png;base64,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.........完整代码请登录后点击上方下载按钮下载查看

网友评论0