在主题定制的应用场景中,自然离不开颜色的自定义。而你往往需要的是关于它的直观选择,于是 colorpicker 模块姗姗来迟,它支持 hex、rgb、rgba 三类色彩模式,在代码中简单的调用后,便可在你的网页系统中自由拖拽去选择你中意的颜色。
模块加载名称:colorpicker注意:colorpicker 为 layui 2.4.0 新增模块,不支持 ie10 以下版本,其它高级浏览器均支持。
colorpicker 是一款颜色选择器,如下是一个最基本的用法:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>颜色选择器</title>
  <link rel="stylesheet" href="../src/css/layui.css">
</head>
<body>
<div id="test1"></div>
<script src="../src/layui.js"></script>
<script>
layui.use('colorpicker', function(){
  var colorpicker = layui.colorpicker;
  //渲染
  colorpicker.render({
    elem: '#test1'  //绑定元素
  });
});
</script>
</body>
</html>
      
    colorpicker 组件目前支持以下参数
| 参数选项 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| elem | 指向容器选择器 | string/object | - | 
| color | 默认颜色,不管你是使用 hex、rgb 还是 rgba 的格式输入,最终会以指定的格式显示。 | string | - | 
| format | 颜色显示/输入格式,可选值: hex、rgb 若在 rgb 格式下开启了透明度,格式会自动变成 rgba。在没有输入颜色的前提下,组件会默认为 #000 也就是黑色。 | string | hex(即 16 进制色值) | 
| alpha | 是否开启透明度,若不开启,则不会显示透明框。开启了透明度选项时,当你的默认颜色为 hex 或 rgb 格式,组件会默认加上值为 1 的透明度。相同的,当你没有开启透明度,却以 rgba 格式设置默认颜色时,组件会默认没有透明度。 注意:该参数必须配合 rgba 颜色值使用 | boolean | false | 
| predefine | 预定义颜色是否开启 | boolean | false | 
| colors | 预定义颜色,此参数需配合 predefine: true 使用。 | Array | 此处列举一部分:['#ff4500','#1e90ff','rgba(255, 69, 0, 0.68)','rgb(255, 120, 0)'] | 
| size | 下拉框大小,可以选择:lg、sm、xs。 | string | - | 
预定义颜色,可以被认为是提供的参考色,因此除了我们默认的预定义颜色之外,你还可以自己定义
layui.use('colorpicker', function(){
  var colorpicker = layui.colorpicker;、
   
  colorpicker.render({
    elem: '#test1'
    ,predefine: true
    ,colors: ['#F00','#0F0','#00F','rgb(255, 69, 0)','rgba(255, 69, 0, 0.5)']
  });
});
      
    
        回调名:change
        
当颜色在选择器中发生选择改变时,会进入 change 回调,你可以通过它来进行所需操作,下面的例子就是实时的输出当前选择器的颜色
      
layui.use('colorpicker', function(){
  var colorpicker = layui.colorpicker;
   
  colorpicker.render({
    elem: '#test1'
    ,change: function(color){
      console.log(color)
    }
  });
});
      
    
        回调名:done
        
点击颜色选择器的“确认”和“清除”按钮,均会触发 done 回调,回调返回当前选择的色值。
      
layui.use('colorpicker', function(){
  var colorpicker = layui.colorpicker;
   
  colorpicker.render({
    elem: '#test1'
    ,done: function(color){
      console.log(color)
      //譬如你可以在回调中把得到的 color 赋值给表单
    }
  });
});
      
    颜色选择器不仅仅是独立使用,它更多情况可能是跟表单结合使用。
layui - 在每一个细节中,用心与你沟通