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 获取Listbox选择的值的代码
Apr 15 Javascript
javascript event 事件解析
Jan 31 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 Javascript
JavaScript 创建运动框架的实现代码
May 08 Javascript
JS 去前后空格大全(IE9亲测)
Jul 15 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Aug 12 Javascript
网页广告中JS代码的信息监听示例
Apr 02 Javascript
微信小程序 数据访问实例详解
Oct 08 Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 Javascript
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
解决LayUI表单获取不到data的问题
Aug 20 Javascript
JavaScript实现移动端拖动元素
Nov 24 Javascript
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
PHP排序算法的复习和总结
2012/02/15 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
详解Python中的正则表达式的用法
2015/04/09 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
Django 内置权限扩展案例详解
2019/03/04 Python
pytorch模型存储的2种实现方法
2020/02/14 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
疾病防治方案
2014/05/31 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
个人道歉信大全
2019/04/11 职场文书
Mysql数据库group by原理详解
2022/07/07 MySQL