首页 > 编程 > JavaScript > 正文

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

2019-11-19 15:51:30
字体:
来源:转载
供稿:网友

本文实例讲述了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.VeVB.COm/color/rgb_color_generator

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

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

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

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表