js实现可得到不同颜色值的颜色选择器实例


Posted in Javascript onFebruary 28, 2015

本文实例讲述了js实现可得到不同颜色值的颜色选择器。分享给大家供大家参考。具体实现方法如下:

<html>

<head>

<title>js颜色选择器,可得到不同的颜色值</title>

</head>

<body>

<input id=kkk1 style=position:absolute;left:0;top:0>

<input id=kkk2 style=position:absolute;left:200;top:0>

<input id=kkk3 style=position:absolute;left:400;top:0>

<input id=kkk4 style=position:absolute;left:600;top:0>

<div id=RainBowDiv style='position:absolute;left:200;top:30;'></div>

<script>

var iW = '70';//共有6种颜色,每种颜色的宽为iW。iW*6为色带的宽。

var iH = '400';//iH为色带的高。

//计算HSV颜色代码。

function HSV(){

kkk1.value = 'X:'+event.offsetX+'   Y:'+event.offsetY;

var H,S,V;

var pY = event.offsetY;

if(pY == 0){H = S = 0; V = 100;}

else{

 if(pY == iH-1) H = S = V = 0;

 else{

  H = Math.floor(360*event.offsetX/(iW*6));

  S = Math.round(50*(iH-pY)/(iH/2));

  V = Math.round(100-50*pY/iH);

  }

 }

kkk2.value='HSV('+H+','+S+'%,'+V+'%)';

HSVtoRGB(H,S/100,V/100);

}
//计算RGB颜色代码。

function HSVtoRGB(h,s,v){

var i, f ,p1 ,p2 ,p3;

var r = g = b = 0;

if(s < 0) s=0;

if(s > 1) s=1;

if(v < 0) v=0;

if(v > 1) v=1;

h %= 360;

if(h < 0) h+=360;

h /= 60;

i = Math.floor(h);

f = h-i;

p1 = v*(1-s);

p2 = v*(1-s*f);

p3 = v*(1-s*(1-f));

if(i == 0){r=v; g=p3; b=p1;}

else if(i == 1){r=p2; g=v; b=p1;}

else if(i == 2){r=p1; g=v; b=p3;}

else if(i == 3){r=p1; g=p2; b=v;}

else if(i == 4){r=p3; g=p1; b=v;}

else if(i == 5){r=v; g=p1; b=p2;}

kkk3.value='RGB('+Math.round(r*255)+','+Math.round(g*255)+','+Math.round(b*255)+')';

RGBtoHTML(Math.round(r*255),Math.round(g*255),Math.round(b*255))

}
//计算HTML颜色代码。

function RGBtoHTML(r,g,b){

r=(r>=16)?r.toString(16):('0'+r.toString(16))

g=(g>=16)?g.toString(16):('0'+g.toString(16))

b=(b>=16)?b.toString(16):('0'+b.toString(16))

kkk4.value='HTML #'+r+g+b;

}
function window.onload(){

var RainBow = new Array(255,0,0,  255,255,0,  0,255,0,  0,255,255,  0,0,255,  255,0,255,  255,0,0);

for(var i=0;i<6;i++){

 var R1 = RainBow[i*3];

 var G1 = RainBow[i*3+1];

 var B1 = RainBow[i*3+2];

 var R2 = RainBow[(i+1)*3];

 var G2 = RainBow[(i+1)*3+1];

 var B2 = RainBow[(i+1)*3+2];

 RainBowDiv.innerHTML += "<div style='position:absolute;left:"+i*iW+";top:0;width:"+iW+";height:"+iH+";background:rgb("+R1+","+G1+","+B1+");'></div><div style='position:absolute;left:"+i*iW+";top:0;width:"+iW+";height:"+iH+";background:rgb("+R2+","+G2+","+B2+");filter:alpha(opacity=0,finishopacity=100,Style=1);'></div>"

 }

RainBowDiv.innerHTML += "<div style=position:absolute;left:0;top:0;width:"+6*iW+";height:"+iH+";background:rgb(128,128,128);filter:alpha(opacity=0,finishOpacity=100,style=1,starty=0,finishy=100,startx=0,finishx=0)></div><div style='position:absolute;left:0;top:0;width:"+(6*iW+1)+";height:"+iH+";' onmousemove=HSV()></div>"

}

</script>

</body>

</html>

更多js颜色操作可参考本站颜色工具:

RGB颜色编码生成器

在线网页配色工具

RGB颜色查询对照表_颜色代码表_颜色的英文名称大全

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js 单引号 传递方法
Jun 22 Javascript
基于jquery的Repeater实现代码
Jul 17 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
express的中间件bodyParser详解
Dec 04 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
jQuery获取上传文件的名称的正则表达式
May 21 Javascript
jQuery简单实现仿京东分类导航层效果
Jun 07 Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
JavaScript中字符串的常用操作方法及特殊字符
Mar 18 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
JS+CSS实现实用的单击输入框弹出选择框的方法
Feb 28 #Javascript
JS实现很酷的EMAIL地址添加功能实例
Feb 28 #Javascript
浅谈JavaScript数据类型及转换
Feb 28 #Javascript
javaScript基础语法介绍
Feb 28 #Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 #Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
Feb 28 #Javascript
JavaScript生成随机数的4种自定义函数分享
Feb 28 #Javascript
You might like
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
javascript fullscreen全屏实现代码
2009/04/09 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
jquery密码强度校验
2015/12/02 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
wxPython实现列表增删改查功能
2019/11/19 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
python能做哪方面的工作
2020/06/15 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
采购主管的岗位职责
2013/12/17 职场文书
高一数学教学反思
2014/02/07 职场文书
高中教师考核方案
2014/05/18 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android
Go获取两个时区的时间差
2022/04/20 Golang