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 globalStorage类代码
Jun 04 Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
Dec 23 Javascript
Vue.Draggable实现拖拽效果
Jul 29 Javascript
javascript中new Array()和var arr=[]用法区别
Dec 01 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
小程序关于请求同步的总结
May 05 Javascript
返回上一个url并刷新界面的js代码
Sep 12 Javascript
vue实现动态表格提交参数动态生成控件的操作
Nov 09 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
咖啡产品发展的三大浪潮
2021/03/04 咖啡文化
用文本作数据处理
2006/10/09 PHP
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
php的4种常用运行方式详解
2016/12/22 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
require.js中的define函数详解
2017/07/10 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
JavaScript的console命令使用实例
2019/12/03 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
Python内置函数dir详解
2015/04/14 Python
python解析基于xml格式的日志文件
2017/02/25 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Flask-Mail用法实例分析
2018/07/21 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
幼儿教师辞职信范文
2015/03/02 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript