国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript編程開發中取色器及封裝$函數用法示例

2024-05-06 15:13:15
字體:
來源:轉載
供稿:網友

本文實例講述了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>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 金堂县| 营山县| 东乌珠穆沁旗| 青川县| 忻州市| 蒙山县| 隆回县| 仙游县| 通江县| 丽江市| 敦化市| 开鲁县| 信宜市| 海丰县| 辉县市| 瑞安市| 卓尼县| 兰州市| 甘孜县| 秦安县| 杨浦区| 合阳县| 兰溪市| 通许县| 中方县| 河池市| 青神县| 漯河市| 扬中市| 东山县| 慈溪市| 林芝县| 福清市| 屏东县| 天气| 东平县| 进贤县| 林甸县| 阿克| 保德县| 桐梓县|