JavaScript使用Range调色及透明度实例


Posted in Javascript onSeptember 25, 2016

颜色搭配是件头疼的事,工作空隙,利用range做个简单的手动调色,可得到rgb值和相应的十六进制色值。因为用到range标签,建议使用搜狗、火狐,IE10及以上版本代码如下:

<!DOCTYPE html>
<html lang="en">
 <head>
 <meta charset="utf-8">

 <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
 Remove this if you use the .htaccess -->
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

 <title>test16_color</title>
 <meta name="description" content="">
 <meta name="author" content="Administrator">

 <meta name="viewport" content="width=device-width; initial-scale=1.0">

 <!-- Replace favicon.ico & apple-touch-icon.png in the root of your domain and delete these references -->
 <link rel="shortcut icon" href="/favicon.ico">
 <link rel="apple-touch-icon" href="/apple-touch-icon.png">
 
 <style type="text/css">
  body, div,span {margin: 0;padding: 0;}
  .div1 {margin: 20px auto;border: 1px solid black;width: 400px;height: 250px;opacity: 1;}
  .div2 {margin: 0 auto;width: 600px;text-align: center;}
  span {width: 180px; display: inline-block;text-align: right;}
  span.val {width: 50px;display: inline-block;text-align: left;}
  input {margin: 3px 15px;outline: none;}
  h2 {margin: 3px auto;}
 </style>
 </head>

 <body>
 <div class="div1" id="div1">
  
 </div>
 <div class="div2"> 
  <h2><span>R(红色):</span><span class="val" id="rValue">255</span><input type="range" min="0" max="255" value="255" step="1" id="rRange"/></h2>
  <h2><span>G(绿色):</span><span class="val" id="gValue">255</span><input type="range" min="0" max="255" value="255" step="1" id="gRange"/></h2>
  <h2><span>B(蓝色):</span><span class="val" id="bValue">255</span><input type="range" min="0" max="255" value="255" step="1" id="bRange"/></h2>
  <h2><span>O(透明):</span><span class="val" id="oValue">1</span><input type="range" min="0" max="1" value="1" step="0.1" id="oRange"/></h2>
  <h2 id="rgb1">RGB(255,255,255)</h2>
  <h2 id="rgb2">#FFFFFF</h2>
 </div>
 </body>
 
 <script type="text/javascript">
 (function() {
  
  var inputNodes = document.getElementsByTagName("input");
  var len = inputNodes.length;
  for(var i=0;i<len;i++) {
  var inputNode = inputNodes[i];
  inputNode.index = i;
  inputNode.onchange = function() {
   var inputVal = inputNodes[this.index].value;
   var inputIdAttr = inputNodes[this.index].getAttribute("id");
   var spanIdAttr = inputIdAttr.replace("Range","Value");
   
   document.getElementById(spanIdAttr).innerHTML = inputVal;
   
   changeColor();
  };
  }
  
  function changeColor() {
  var rgbColor = "";
  var oColor = "#";
  for(var i=0;i<len-1;i++) {
   var inputNode = inputNodes[i];
   rgbColor += rgbColor!=""?",":"";
   rgbColor += inputNode.value;
   
   var n_10 = parseInt(inputNode.value);
   oColor += n_10.toString(16).length==1?"0"+n_10.toString(16):n_10.toString(16);
  }
  
  var div1 = document.getElementById("div1");
  div1.style.background = "RGB("+rgbColor+")";
  div1.style.opacity = inputNodes[len-1].value;
  
  var rgb1 = document.getElementById("rgb1");
  rgb1.innerHTML = "RGB("+rgbColor+")";
  
  var rgb2 = document.getElementById("rgb2"); 
  rgb2.innerHTML = oColor.toUpperCase();
  }
 })();
 </script>
</html>
Javascript 相关文章推荐
用JTrackBar实现的模拟苹果风格的滚动条
Aug 06 Javascript
30个最佳jQuery Lightbox效果插件分享
Apr 11 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
Nov 29 Javascript
js实现通用的微信分享组件示例
Mar 10 Javascript
javascript关于继承解析
May 10 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
Nov 07 Javascript
vue项目中引入noVNC远程桌面的方法
Mar 05 Javascript
如何解决webpack-dev-server代理常切换问题
Jan 09 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
Sep 16 Javascript
详解如何在Vue项目中发送jsonp请求
Oct 25 Javascript
jQuery实现的分页插件完整示例
May 26 jQuery
Taro小程序自定义顶部导航栏功能的实现
Dec 17 Javascript
JavaScript中原型链存在的问题解析
Sep 25 #Javascript
JavaScript制作颜色反转小游戏
Sep 25 #Javascript
JavaScript实现简单的日历效果
Sep 25 #Javascript
javascript实现根据汉字获取简拼
Sep 25 #Javascript
概述VUE2.0不可忽视的很多变化
Sep 25 #Javascript
微信小程序前端源码逻辑和工作流
Sep 25 #Javascript
BootStrap 超链接变按钮的实现方法
Sep 25 #Javascript
You might like
如何给phpadmin一个保护
2006/10/09 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python greenlet实现原理和使用示例
2014/09/24 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
python3处理含有中文的url方法
2018/05/10 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
python将txt文件读取为字典的示例
2018/12/22 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
了解一下python内建模块collections
2020/09/07 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
师范生的个人求职信范文
2014/01/04 职场文书
写给女生的道歉信
2014/01/08 职场文书
军训自我鉴定100字
2014/02/13 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android