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 相关文章推荐
一个加载js文件的小脚本
Jun 28 Javascript
javascript天然的迭代器
Oct 29 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
Jun 22 Javascript
node.js中的path.delimiter方法使用说明
Dec 09 Javascript
JS操作HTML自定义属性的方法
Feb 10 Javascript
基于JavaScript实现仿京东图片轮播效果
Nov 06 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
Aug 23 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
详解微信UnionID作用
May 15 Javascript
JS实现压缩上传图片base64长度功能
Dec 03 Javascript
jQuery擦除插件eraser使用方法详解
Jan 11 jQuery
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
Sep 28 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中使用Oracle数据库(1)
2006/10/09 PHP
?繁体转换的class
2006/10/09 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
php格式文件打开的四种方法
2018/02/24 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
javascript 多浏览器 事件大全
2010/03/23 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
PyTorch-GPU加速实例
2020/06/23 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
Python实现上下文管理器的方法
2020/08/07 Python
Python datetime模块的使用示例
2021/02/02 Python
HTML5学习笔记之History API
2015/02/26 HTML / CSS
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
自我反省检讨书
2014/01/23 职场文书
致全体运动员广播稿
2014/02/01 职场文书
纠风工作实施方案
2014/03/15 职场文书
考试作弊检讨书
2015/01/27 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL