首页 > web前端 > js教程 > 正文

js实现可得到不同颜色值的颜色选择器实例_javascript技巧

php中文网
发布: 2016-05-16 16:12:12
原创
1470人浏览过

本文实例讲述了js实现可得到不同颜色值的颜色选择器。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:


js颜色选择器,可得到不同的颜色值







<script><br /> var iW = '70';//共有6种颜色,每种颜色的宽为iW。iW*6为色带的宽。<br /> var iH = '400';//iH为色带的高。<br /> //计算HSV颜色代码。<br /> function HSV(){<br /> kkk1.value = 'X:'+event.offsetX+' Y:'+event.offsetY;<br /> var H,S,V;<br /> var pY = event.offsetY;<br /> if(pY == 0){H = S = 0; V = 100;}<br /> else{<br /> if(pY == iH-1) H = S = V = 0;<br /> else{<br /> H = Math.floor(360*event.offsetX/(iW*6));<br /> S = Math.round(50*(iH-pY)/(iH/2));<br /> V = Math.round(100-50*pY/iH);<br /> }<br /> }<br /> kkk2.value='HSV('+H+','+S+'%,'+V+'%)';<br /> HSVtoRGB(H,S/100,V/100);<br /> } <p>//计算RGB颜色代码。<br /> function HSVtoRGB(h,s,v){<br /> var i, f ,p1 ,p2 ,p3;<br /> var r = g = b = 0;<br /> if(s < 0) s=0;<br /> if(s > 1) s=1;<br /> if(v < 0) v=0;<br /> if(v > 1) v=1;<br /> h %= 360;<br /> if(h < 0) h+=360;<br /> h /= 60;<br /> i = Math.floor(h);<br /> f = h-i;<br /> p1 = v*(1-s);<br /> p2 = v*(1-s*f);<br /> p3 = v*(1-s*(1-f));<br /> if(i == 0){r=v; g=p3; b=p1;}<br /> else if(i == 1){r=p2; g=v; b=p1;}<br /> else if(i == 2){r=p1; g=v; b=p3;}<br /> else if(i == 3){r=p1; g=p2; b=v;}<br /> else if(i == 4){r=p3; g=p1; b=v;}<br /> else if(i == 5){r=v; g=p1; b=p2;}<br /> kkk3.value='RGB('+Math.round(r*255)+','+Math.round(g*255)+','+Math.round(b*255)+')';<br /> RGBtoHTML(Math.round(r*255),Math.round(g*255),Math.round(b*255))<br /> } <p>//计算HTML颜色代码。<br /> function RGBtoHTML(r,g,b){<br /> r=(r>=16)&#63;r.toString(16):('0'+r.toString(16))<br /> g=(g>=16)&#63;g.toString(16):('0'+g.toString(16))<br /> b=(b>=16)&#63;b.toString(16):('0'+b.toString(16))<br /> kkk4.value='HTML #'+r+g+b;<br /> } <p>function window.onload(){<br /> 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);<br /> for(var i=0;i<6;i++){<br /> var R1 = RainBow[i*3];<br /> var G1 = RainBow[i*3+1];<br /> var B1 = RainBow[i*3+2];<br /> var R2 = RainBow[(i+1)*3];<br /> var G2 = RainBow[(i+1)*3+1];<br /> var B2 = RainBow[(i+1)*3+2];<br /> RainBowDiv.innerHTML += "<div style='position:absolute;left:"+i*iW+";top:0;width:"+iW+";height:"+iH+";background:rgb("+R1+","+G1+","+B1+");'></script>
"
 }
RainBowDiv.innerHTML += "
"
}


更多js颜色操作可参考本站颜色工具:

RGB颜色编码生成器

在线网页配色工具

Humata
Humata

Humata是用于文件的ChatGPT。对你的数据提出问题,并获得由AI提供的即时答案。

Humata 82
查看详情 Humata

RGB颜色查询对照表_颜色代码表_颜色的英文名称大全

希望本文所述对大家的javascript程序设计有所帮助。

相关标签:
js
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号