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 相关文章推荐
Javascript模块化编程(一)AMD规范(规范使用模块)
Jan 17 Javascript
Javascript基础教程之函数对象和属性
Jan 18 Javascript
jQuery实现菜单式图片滑动切换
Mar 14 Javascript
JavaScript从数组中删除指定值元素的方法
Mar 18 Javascript
Javascript中arguments和arguments.callee的区别浅析
Apr 24 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
基于JavaScript实现幸运抽奖页面
Jul 05 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
Apr 01 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
Jul 26 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
Apr 30 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与MySQL开发的8个技巧小结
2010/12/17 PHP
JavaScript使用prototype定义对象类型(转)[
2006/12/22 Javascript
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
JavaScript实现关键字高亮功能
2014/11/12 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
Python中处理时间的几种方法小结
2015/04/09 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
python如何删除列为空的行
2020/07/17 Python
python Scrapy框架原理解析
2021/01/04 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
英文留学推荐信范文
2014/01/25 职场文书
技校个人求职信范文
2014/01/25 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
普通话宣传标语
2014/06/26 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
看雷锋电影观后感
2015/06/10 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
Python中re模块的元字符使用小结
2022/04/07 Python
Java Spring读取和存储详细操作
2022/08/05 Java/Android