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 相关文章推荐
从jQuery.camelCase()学习string.replace() 函数学习
Sep 13 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
Sep 16 Javascript
JSON格式化输出
Nov 10 Javascript
Javascript堆排序算法详解
Dec 03 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
jquery实现表单输入时提示文字滑动向上效果
Aug 10 Javascript
JavaScript进阶练习及简单实例分析
Jun 03 Javascript
jQuery设置Easyui校验规则(推荐)
Nov 21 Javascript
详解Vue 2.0封装axios笔记
Jun 22 Javascript
详解微信小程序开发之formId使用(模板消息)
Aug 27 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
Vue 的 v-model用法实例
Nov 23 Vue.js
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模拟HTTP认证
2006/10/09 PHP
php下使用无限生命期Session的方法
2007/03/16 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
常用的javascript设计模式
2017/01/11 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
介绍一下linux文件系统分配策略
2012/11/17 面试题
会计大学生职业生涯规划书范文
2014/01/13 职场文书
工作违纪检讨书
2014/02/17 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
离婚协议书格式范本
2016/03/18 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
MySQL数据库表约束讲解
2022/06/21 MySQL
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis