博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开源一个丢人的、简单的颜色选择器
阅读量:6157 次
发布时间:2019-06-21

本文共 1799 字,大约阅读时间需要 5 分钟。

  • 不使用Flash插件或是任何图片
  • 无需任何依赖库
  • 和Photoshop近似的体验
  • 支持 HEX 和 RGB 格式输入
  • 支持 HEX, RGB 和 HSB/HSV 输出
  • 可监听的 onchange 事件
  • 可通过 CSS 自定义的扁平化设计
  • 同时可在 Electron 与浏览器中正常工作

Demo 演示

您可以通过浏览DEMO页面源代码了解基本的使用方法

安装与使用

安装

Electron Webview

const ColorPicker = require(`./lib/color-picker.js`).ColorPickerconst colorPickerObject = new ColorPicker({  dom: document.getElementById('colorPicker'), // DOM 对象  value: '#00FF00' //和 {r:0,g:255,b:0} , '0F0' 以及 '00FF00' 具有相同作用})

浏览器

  
  

然后,您只需要实例化一个 ColorPicker 对象即可

const pickers = [  new ColorPicker({    dom: document.getElementById('picker1'),    value: '#0F0'  }),  new ColorPicker({    dom: document.getElementById('picker2'),    value: { r: 0, g: 0, b: 255 }  }),  new ColorPicker({    dom: document.getElementById('picker3')  })]

Usage

// 创建了一个 ColorPicker 数组const pickers = [  new ColorPicker({    dom: document.getElementById('picker1'),    value: '#0F0'  }),  new ColorPicker({    dom: document.getElementById('picker2'),    value: { r: 0, g: 0, b: 255 }  }),  new ColorPicker({    dom: document.getElementById('picker3')  })]pickers.forEach(colorP =>  colorP.addEventListener('change', event => {    pickers.forEach(colorPs => {      if (colorP !== colorPs) colorPs.value = colorP.value    })  }))// 您可以按照以下多种方式格式化值 "hex", "rgb", "hsb" 或是简单的hex颜色// 示例const valueGetSample = new ColorPicker({ value: '#ABC' }) // 与 "#AABBCC" 相同const hex = valueGetSample.getValue('hex') // "AABBCC"const rgb = valueGetSample.getValue('rgb') // {r: 170, g: 187, b: 204}const hsb = valueGetSample.getValue('hsb') // {h: 210, s: 0.16666666666666663, b: 0.8}const value = valueGetSample.getValue('value') // 与 valueGetSample.value 返回值相同

为什么做这个

纯粹是因为github上找不到感觉符合一个小玩具的设计风格基于原生的JS颜色选择器,

于是干脆自己写一个好了,万一还能骗几个Star呢?(逃)

最后在玩着海王星和睡觉穿插着算是写了一个第一版,草草写了一下readme就发出来了,以上,全部。

转载地址:http://hisfa.baihongyu.com/

你可能感兴趣的文章
Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
查看>>
resmgr:cpu quantum等待事件
查看>>
一个屌丝程序猿的人生(六十六)
查看>>
Java 编码 UTF-8
查看>>
SpringMVC实战(注解)
查看>>
关于静态属性和静态函数
查看>>
进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端
查看>>
spring+jotm+ibatis+mysql实现JTA分布式事务
查看>>
MyBatis启动:MapperStatement创建
查看>>
调查问卷相关
查看>>
eclipse启动无响应,老是加载不了revert resources,或停留在Loading workbench状态
查看>>
1. Git-2.12.0-64-bit .exe下载
查看>>
怎样关闭“粘滞键”?
查看>>
[转]React 教程
查看>>
拓扑排序介绍
查看>>
eclipse打开工作空间(workspace)没有任务反应
查看>>
使用Sybmol模块来构建神经网络
查看>>
字符串去分割符号
查看>>
WPF中,多key值绑定问题,一个key绑定一个界面上的对象
查看>>
UML类图简明教程
查看>>