您好,登錄后才能下訂單哦!
小編給大家分享一下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>
看完了這篇文章,相信你對“javascript編程開發中取色器及封裝$函數怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。