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 相关文章推荐
实现png图片和png背景透明(支持多浏览器)的方法
Sep 08 Javascript
js选择并转移导航菜单示例代码
Aug 19 Javascript
JavaScript设计模式之装饰者模式介绍
Dec 28 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
Feb 15 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 Javascript
Vue实现选择城市功能
May 27 Javascript
详谈javascript精度问题与调整
Jul 08 Javascript
js中url对象化管理分析
Dec 29 Javascript
详解tween.js 中文使用指南
Jan 05 Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 Javascript
基于ssm框架实现layui分页效果
Jul 27 Javascript
Vue实现手机计算器
Aug 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
快速开发一个PHP扩展图文教程
2008/12/12 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
PHP 错误处理机制
2015/07/06 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
Javascript学习笔记二 之 变量
2010/12/15 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
酒店保安领班职务说明书
2014/03/04 职场文书
计算机系本科生求职信
2014/05/31 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
Python Pandas常用函数方法总结
2021/06/15 Python