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 相关文章推荐
select组合框option的捕捉实例代码
Sep 30 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
May 22 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
Aug 26 Javascript
js命名空间写法示例
Dec 18 Javascript
浅谈JavaScript对象与继承
Jul 10 Javascript
js控住DOM实现发布微博效果
Aug 30 Javascript
获取select的value、text值的简单示例(jquery与javascript)
Dec 07 Javascript
浅谈Node.js:理解stream
Dec 08 Javascript
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
vue移动端城市三级联动组件使用详解
Jul 26 Javascript
基于JavaScript实现随机点名器
Feb 25 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 XML数据解析代码
2010/05/26 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
网站防止被刷票的一些思路与方法
2015/01/08 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
Python操作Excel的学习笔记
2021/02/18 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
车间班组长的职责
2013/12/13 职场文书
产品销售员岗位职责
2013/12/18 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
感谢信模板大全
2015/01/23 职场文书
质量保证书格式模板
2015/02/27 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
详解Go语言中Get/Post请求测试
2022/06/01 Golang