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 相关文章推荐
javascript 触发HTML元素绑定的函数
Sep 11 Javascript
Javascript连接多个数组不用concat来解决
Mar 24 Javascript
JQuery实现简单的图片滑动切换特效
Nov 22 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
May 05 Javascript
JS如何生成一个不重复的ID的函数
Dec 25 Javascript
Vue2 配置 Axios api 接口调用文件的方法
Nov 13 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
在Mac下彻底卸载node和npm的方法
May 16 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
详解vue-cli 2.0配置文件(小结)
Jan 14 Javascript
javascrpt密码强度校验函数详解
Mar 18 Javascript
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
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怎样调用MSSQL的存储过程
2006/10/09 PHP
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
JS实现电商放大镜效果
2017/08/24 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
解决python运行效率不高的问题
2020/07/20 Python
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android
SQL SERVER触发器详解
2022/02/24 SQL Server
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技