前言
在前端开发中,我们经常需要用到选择颜色的功能。而选择颜色的方式多种多样,比如直接使用 input
标签的 type="color"
属性,或者使用第三方的颜色选择器插件等。今天我们要介绍的是一个基于 JavaScript 和 jQuery 的小型颜色选择器:qqjfdjkfdsjkfkdsjfksjpickr。
简介
qqjfdjkfdsjkfkdsjfksjpickr 是一个基于 JavaScript 和 jQuery 开发的小型颜色选择器。它的大小不到 5KB,并且非常易于使用。qqjfdjkfdsjkfkdsjfksjpickr 支持 RGBA 和 HEX 两种颜色格式,而且还可以自定义选框的大小、样式和位置等。
安装
使用 qqjfdjkfdsjkfkdsjfksjpickr 首先需要安装它。qqjfdjkfdsjkfkdsjfksjpickr 是一个 npm 包,因此可以使用 npm 进行安装。在终端中切换到你的项目文件夹,然后输入以下命令进行安装:
npm install qqjfdjkfdsjkfkdsjfksjpickr
使用
安装完成之后,我们可以开始使用 qqjfdjkfdsjkfkdsjfksjpickr。使用 qqjfdjkfdsjkfkdsjfksjpickr 的方式非常简单:
首先,在你的 HTML 文件中引入 qqjfdjkfdsjkfkdsjfksjpickr 的 CSS 和 JS 文件。例如:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <title>qqjfdjkfdsjkfkdsjfksjpickr 使用教程</title> <link rel="stylesheet" href="./node_modules/qqjfdjkfdsjkfkdsjfksjpickr/dist/themes/classic.min.css" /> </head> <body> <div id="pickr"></div> <script src="./node_modules/qqjfdjkfdsjkfkdsjfksjpickr/dist/pickr.min.js"></script> </body> </html>
接着,在你的 JavaScript 文件中创建 qqjfdjkfdsjkfkdsjfksjpickr 的实例。例如:
var pickr = Pickr.create({ el: '#pickr', theme: 'classic', default: '#FFF', // 设置初始颜色值 swatches: [ 'rgba(244, 67, 54, 1)', 'rgba(233, 30, 99, 0.95)', 'rgba(156, 39, 176, 0.9)', 'rgba(103, 58, 183, 0.85)', 'rgba(63, 81, 181, 0.8)', 'rgba(33, 150, 243, 0.75)', 'rgba(3, 169, 244, 0.7)', 'rgba(0, 188, 212, 0.7)', 'rgba(0, 150, 136, 0.75)', 'rgba(76, 175, 80, 0.8)', 'rgba(139, 195, 74, 0.85)', 'rgba(205, 220, 57, 0.9)', 'rgba(255, 235, 59, 0.95)', 'rgba(255, 193, 7, 1)' ], components: { preview: true, // 是否显示颜色预览框 opacity: true, // 是否显示透明度选项 hue: true, // 是否显示色相选项 interaction: { hex: true, // 是否支持 HEX 选项 rgba: true, // 是否支持 RGBA 选项 hsla: true, // 是否支持 HSLA 选项 hsva: true, // 是否支持 HSVA 选项 cmyk: true // 是否支持 CMYK 选项 } } });
使用 qqjfdjkfdsjkfkdsjfksjpickr 只需要两步,不过在实际的项目中可能需要进行一定的配置。qqjfdjkfdsjkfkdsjfksjpickr 的配置项非常丰富,下面我们来一一介绍。
配置项
qqjfdjkfdsjkfkdsjfksjpickr 的配置项主要包括以下几方面:
el
类型:string | HTMLElement
使用 qqjfdjkfdsjkfkdsjfksjpickr 的第一步就是在你的页面上创建一个选框。el
就是用来指定选框位置的元素。可以使用一个字符串作为 el
,此时它应该指向一个已存在的元素的 id
,例如:'#pickr'
;也可以使用一个 DOM 元素作为 el
,例如:document.getElementById('pickr')
。
theme
类型:string
theme
用来设置选框的主题。qqjfdjkfdsjkfkdsjfksjpickr 当前共有 3 种主题:
classic
:经典主题;monolith
:类似于 Apple 的单体主题;nano
:极简主题。
default
类型:string
默认颜色值。如果不指定 default
,则默认为黑色(#000000)。
swatches
类型:Array
预设颜色值。可以在 qqjfdjkfdsjkfkdsjfksjpickr 中预设一些颜色值,方便用户选择。swatches
应该是一个颜色值数组,例如:['#000', '#FFF', '#F00', '#0F0', '#00F']
。
components.preview
类型:boolean
是否显示预览框。如果设置为 false
,则不会出现 qqjfdjkfdsjkfkdsjfksjpickr 右下角的前景色/背景色预览框。
components.opacity
类型:boolean
是否允许用户选择透明度。如果设置为 false
,则不会出现 qqjfdjkfdsjkfkdsjfksjpickr 右下角的透明度选项。
components.hue
类型:boolean
是否允许用户选择色相。如果设置为 false
,则不会出现 qqjfdjkfdsjkfkdsjfksjpickr 左侧的色相选择器。
components.interaction
类型:Object
交互选项。如果需要选择某种颜色格式,可以在 interaction
中设置相应的值为 true
,比如:
{ hex: true, rgba: true, hsla: true, hsva: true, cmyk: true }
配合 components.opacity
使用,qqjfdjkfdsjkfkdsjfksjpickr 还可以选择 RGBA、HSVA、HSLA 和 CMYK 等格式。
示例代码
下面我们来看一个完整的 qqjfdjkfdsjkfkdsjfksjpickr 示例代码,其中包含了 qqjfdjkfdsjkfkdsjfksjpickr 的使用和各种配置项的实例:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <title>qqjfdjkfdsjkfkdsjfksjpickr 使用教程</title> <link rel="stylesheet" href="./node_modules/qqjfdjkfdsjkfkdsjfksjpickr/dist/themes/classic.min.css" /> </head> <body> <p>选取颜色:</p> <div id="pickr"></div> <script src="./node_modules/qqjfdjkfdsjkfkdsjfksjpickr/dist/pickr.min.js"></script> <script> var pickr = Pickr.create({ el: '#pickr', theme: 'classic', default: '#FFF', swatches: [ 'rgba(244, 67, 54, 1)', 'rgba(233, 30, 99, 0.95)', 'rgba(156, 39, 176, 0.9)', 'rgba(103, 58, 183, 0.85)', 'rgba(63, 81, 181, 0.8)', 'rgba(33, 150, 243, 0.75)', 'rgba(3, 169, 244, 0.7)', 'rgba(0, 188, 212, 0.7)', 'rgba(0, 150, 136, 0.75)', 'rgba(76, 175, 80, 0.8)', 'rgba(139, 195, 74, 0.85)', 'rgba(205, 220, 57, 0.9)', 'rgba(255, 235, 59, 0.95)', 'rgba(255, 193, 7, 1)' ], components: { preview: true, opacity: true, hue: true, interaction: { hex: true, rgba: true, hsla: true, hsva: true, cmyk: true } } }); </script> </body> </html>
结语
qqjfdjkfdsjkfkdsjfksjpickr 是一个不错的颜色选择器,它简单易用却又功能齐全。在实际项目中,我们可以根据需求进行相应的配置,来达到最佳的用户体验效果。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/60067382890c4f7277584329