全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

javascript编程开发中取色器及封装$函数用法示例

本文实例讲述了javascript编程开发中取色器及封装$函数用法。分享给大家供大家参考,具体如下:

1.封装$函数

function $(str){
      //如果传入的是'#' 则选择id标签
      //如果传入的是'.' 则选择所有的类名标签
      //如果传入的既不是'#也不是'.' 选择复合标签
      //判断传入的值
      if(typeof str !='string'){
        console.log('传入的参数有误!');
        return null;
      } 
      //获取参数的第一个字母
      var firstChar=str.charAt(0);
      var name=str.substr(1);
      switch(firstChar){
        case '#':
          console.log('id选择器');
          return document.getElementById(name);
          break;
        case '.':
          //类选择器:getElementsByClassName是在js中新加入的,对于老的ie6,ie7无法兼容
          console.log('类选择器');
          //兼容性
          //1.判断是否能够使用getElementsByClassName
          if(!document.getElementsByClassName){
            return document.getElementsByClassName(name);
          }else{
            //2.获取所有的标签
            //3.逐个判断是否带有该类名
            //4.如果有则添加到数组中
            var resultElements=[];
            var elements=document.getElementsByTagName('*');
            // console.log(element);
            for(var i=0;i<elements.length;i++){
              var element=elements[i];
              var class_name=element.className.split(' ');
              for(var j=0;j<class_name.length;j++){
                if(class_name[j]==name){
                    //加入到数组中去
                    resultElements.push(elements[i]);
                    console.log(resultElements);
                }
              }
            }
            return resultElements;
          }
          break;
        default:
          console.log('标签选择器');
          name=str.substr(0);
          return document.getElementsByTagName(name);
      }
    }

2.取色器

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="js/select.js"></script>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    #box{
      width: 300px;
      height: 300px;
      background:rgb(0,0,0);
      margin:20px;
    }
    #btn{
      padding:0 20px;
    }
    input{
      width: 100px;
    }
  </style>
  <script>
    //javascript的style属性只能获取内联样式,对于外部样式和嵌入式样式需要用currentStyle属性。但是,currentStyle在FIrefox和Chrome下不支持,需要使用如下兼容性代码
    HTMLElement.prototype.__defineGetter__("currentStyle", function () { 
      return this.ownerDocument.defaultView.getComputedStyle(this, null); 
    });
    function bgColor(obj){
      return obj.currentStyle.backgroundColor;
    }
    function compare(color1,color2){
      if(color1>color2){
        return -1;
      }else if(color1<color2){
        return 1;
      }else{
        return 0;
      }
    }
    window.onload=function(){
      var red;
      var green;
      var blue;
      var boxColor=[];
      $('#btn').onclick=function(){
        red=Number($('#red').value);
        green=Number($('#green').value);
        blue=Number($('#blue').value);
        boxColor=bgColor($('#box')).split('(');
        boxColor=boxColor[1].split(')');
        boxColor=boxColor[0].split(',');
        if(red>255||red<0 || green>255||green<0 || blue>255||blue<0){
          alert("颜色值出错了!");
          return;
        }
        //变色定时器
        var timer=setInterval(function(){
          boxColor[0]=Number(boxColor[0])+compare(boxColor[0],red);
          boxColor[1]=Number(boxColor[1])+compare(boxColor[1],green);
          boxColor[2]=Number(boxColor[2])+compare(boxColor[2],blue);
          $('#box').style.background='rgb('+boxColor[0]+','+boxColor[1]+','+boxColor[2]+')';
          if(boxColor[0]==red&&boxColor[1]==green&&boxColor[2]==blue){
            clearInterval(timer);
          }
        },10);
      }
    }
  </script>
</head>
<body>
  <div id="box"></div>
  red:<input type="text" id="red">
  green:<input type="text" id="green">
  blue:<input type="text" id="blue">
  <button id="btn">取色</button>
</body>
</html>

点击此处查看在线演示效果

PS:这里再为大家推荐几款本站的相关在线工具:

在线RGB、HEX颜色代码生成器:
http://tools./color/rgb_color_generator

RGB颜色查询对照表_颜色代码表_颜色的英文名称大全:
http://tools./color/jPicker

在线网页调色板工具:
http://tools./color/color_picker

在线颜色选择器工具/RGB颜色查询对照表:
http://tools./color/colorpicker

更多关于JavaScript相关内容可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# javascript  # 取色器  # 封装  # $函数  # JS实现的RGB网页颜色在线取色器完整实例  # js从10种颜色中随机取色实现每次取出不同的颜色  # js 颜色选择器(兼容firefox)  # 5款Javascript颜色选择器  # javascript使用onclick事件改变选中行的颜色  # JS小功能(button选择颜色)简单实例  # js实现的简单radio背景颜色选择器代码  # JavaScript获取系统自带的颜色选择器功能(图)  # 原生Javascript封装的一个AJAX函数分享  # Javascript中的匿名函数与封装介绍  # 选择器  # 的是  # 对照表  # 是在  # 相关内容  # 第一个  # 遍历  # 数据结构  # 错了  # 给大家  # 点击此处  # 不支持  # 中去  # 更多关于  # 既不  # 所述  # 几款  # 程序设计  # 需要用  # 是否能够 


相关文章: 学校为何禁止电信移动建设网站?  如何通过WDCP绑定主域名及创建子域名站点?  如何做静态网页,sublimetext3.0制作静态网页?  长沙企业网站制作哪家好,长沙水业集团官方网站?  建站之星如何防范黑客攻击与数据泄露?  如何制作网站标识牌,动态网站如何制作(教程)?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  建站之星云端配置指南:模板选择与SEO优化一键生成  如何在西部数码注册域名并快速搭建网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  江苏网站制作公司有哪些,江苏书法考级官方网站?  建站之星微信建站一键生成小程序+多端营销系统  如何快速生成凡客建站的专业级图册?  如何用西部建站助手快速创建专业网站?  大型企业网站制作流程,做网站需要注册公司吗?  重庆市网站制作公司,重庆招聘网站哪个好?  网站制作的步骤包括,正确网址格式怎么写?  网页设计网站制作软件,microsoft office哪个可以创建网页?  建站10G流量真的够用吗?如何应对访问高峰?  如何在橙子建站上传落地页?操作指南详解  如何通过智能用户系统一键生成高效建站方案?  制作销售网站教学视频,销售网站有哪些?  深圳网站制作案例,网页的相关名词有哪些?  创业网站制作流程,创业网站可靠吗?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  怀化网站制作公司,怀化新生儿上户网上办理流程?  如何高效生成建站之星成品网站源码?  如何通过山东自助建站平台快速注册域名?  网站专业制作公司有哪些,做一个公司网站要多少钱?  制作公司内部网站有哪些,内网如何建网站?  如何快速生成橙子建站落地页链接?  红河网站制作公司,红河事业单位身份证如何上传?  如何通过wdcp面板快速创建网站?  如何高效完成自助建站业务培训?  如何通过虚拟机搭建网站?详细步骤解析  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  公司门户网站制作流程,华为官网怎么做?  微课制作网站有哪些,微课网怎么进?  如何做网站制作流程,*游戏网站怎么搭建?  如何通过宝塔面板实现本地网站访问?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  建站主机选虚拟主机还是云服务器更好?  如何构建满足综合性能需求的优质建站方案?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  制作网站外包平台,自动化接单网站有哪些?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  C++如何使用std::optional?(处理可选值)  如何通过西部数码建站助手快速创建专业网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。