本文实例讲述了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中的匿名函数与封装介绍
# 选择器
# 的是
# 对照表
# 是在
# 相关内容
# 第一个
# 遍历
# 数据结构
# 错了
# 给大家
# 点击此处
# 不支持
# 中去
# 更多关于
# 既不
# 所述
# 几款
# 程序设计
# 需要用
# 是否能够
相关文章:
建站之星伪静态规则如何设置?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何在服务器上配置二级域名建站?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
内部网站制作流程,如何建立公司内部网站?
Swift开发中switch语句值绑定模式
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何解决VPS建站LNMP环境配置常见问题?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
Swift中switch语句区间和元组模式匹配
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
Android使用GridView实现日历的简单功能
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
怎么将XML数据可视化 D3.js加载XML
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
如何确保西部建站助手FTP传输的安全性?
C++如何使用std::optional?(处理可选值)
名字制作网站免费,所有小说网站的名字?
如何安全更换建站之星模板并保留数据?
如何挑选最适合建站的高性能VPS主机?
建站主机选购指南:核心配置优化与品牌推荐方案
建站之星IIS配置教程:代码生成技巧与站点搭建指南
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
深圳网站制作培训,深圳哪些招聘网站比较好?
成都网站制作报价公司,成都工业用气开户费用?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
如何通过老薛主机一键快速建站?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
c# await 一个已经完成的Task会发生什么
如何通过NAT技术实现内网高效建站?
如何高效配置香港服务器实现快速建站?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
建站与域名管理如何高效结合?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
制作电商网页,电商供应链怎么做?
建站主机服务器选购指南:轻量应用与VPS配置解析
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
油猴 教程,油猴搜脚本为什么会网页无法显示?
Python多线程使用规范_线程安全解析【教程】
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
,sp开头的版面叫什么?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
*请认真填写需求信息,我们会在24小时内与您取得联系。