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 上下滚动条如何默认在下方实现原理
Dec 10 Javascript
JS操作iframe里的dom(实例讲解)
Jan 29 Javascript
jQuery绑定事件不执行但alert后可以正常执行
Jun 03 Javascript
jquery 根据name名获取元素的value值
Feb 27 Javascript
使用AngularJS处理单选框和复选框的简单方法
Jun 19 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
Apr 01 Javascript
javascript 正则表达式分组、断言详解
Apr 20 Javascript
基于vue实现swipe分页组件实例
May 25 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
详解webpack自定义loader初探
Aug 29 Javascript
Vue脚手架编写试卷页面功能
Mar 17 Javascript
js+css实现全屏侧边栏
Jun 16 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
动易数据转成dedecms的php程序
2007/04/07 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
Open and Print a Word Document
2007/06/15 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
python实现bitmap数据结构详解
2014/02/17 Python
python实现探测socket和web服务示例
2014/03/28 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
使用python存储网页上的图片实例
2018/05/22 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
医药个人求职信范文
2014/01/29 职场文书
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python