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 相关文章推荐
让iframe自适应高度(支持XHTML,支持FF)
Jul 24 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
Jan 17 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
jQuery简单实现网页选项卡特效
Nov 24 Javascript
JQuery导航菜单选择特效
Apr 11 Javascript
AngularJS自定义控件实例详解
Dec 13 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
解决Vue中 父子传值 数据丢失问题
Aug 27 Javascript
vue+elementUI动态生成面包屑导航教程
Nov 04 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
Jan 21 Javascript
JS forEach跳出循环2种实现方法
Jun 24 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
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
jQuery 表格插件整理
2010/04/27 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
再说AutoComplete自动补全之实现原理
2011/11/05 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
python创建关联数组(字典)的方法
2015/05/04 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
详解python异步编程之asyncio(百万并发)
2018/07/07 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
Python微信操控itchat的方法
2019/05/31 Python
Python super()函数使用及多重继承
2020/05/06 Python
小学新学期寄语
2014/04/02 职场文书
机关会计岗位职责
2014/04/08 职场文书
二年级评语大全
2014/04/23 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
同意报考公务员证明
2015/06/17 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python