8、Javascript 调色板

1.在网上找一个"网页颜色代码"的站点,然后把大部分的颜色值抽取出来封装到一个文件中。

2.然后通过Ajax异步获取后再创建的调色板的面板UI。

3.最后写相关的颜色选取操作就搞定了

我写的这个Demo依赖的Jquery框架写的(主要是节省我的时间(*^__^*) 嘻嘻)

实例图:

封装了一个叫做paletteTools的调色板工具类

兼容IE6+,FX,GG,OP,Safari等浏览器

/*
* 调色板
* Author:MR.CO
* Date:2010-12-23
* QQ:[email protected]
*/
function paletteTools(eid/*需要触发调色板元素ID*/){
var eobj = $(‘#‘+eid);
var paletteID = ‘divPalette_‘ + eid;
if(eobj[0] == null || eobj[0] == undefined) return;
if(eobj[0].nodeName.toLowerCase() != ‘input‘) {
alert(‘Error Message:Only support input elements...(jq.palette.js)‘);
return;
}
if(!(‘value‘ in eobj[0])) return;
this.Eobj = eobj;
this.PaletteID = paletteID;
var colorBox = new Array();
/*异步获取颜色值*/
$.ajax({url:‘Palette/color.htm‘,type:‘get‘,cache:false,async:false,
error:function(){ alert(‘Error Message:File not found color.htm...(jq.palette.js)‘); },
success:function(data){
var colors = data.split(‘ ‘);
colorBox.push(‘<div id="‘+ paletteID +‘" style="position:absolute;display:none;background:#fff; width:240px; _width:242px; height:180px; border:1px solid #ccc; "><ul style=" padding:0px; margin:0px; float:left; list-style: none; ">‘);
for(var i = 0; i < colors.length; i++){
if(colors[i].replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,‘‘) != ‘‘)
colorBox.push(‘<li style="display:block; width:10px; height:10px; padding: 0px; line-height: 1.5 !important;">‘+ colors[i] +‘;float:left; margin:1px; cursor:pointer;" colorVal="‘+ colors[i] +‘"></li>‘);
}
colorBox.push(‘</ul></div>‘);
}
});
/*将颜色面板追加到当前文本域后面*/
eobj.after(colorBox.join(‘‘));
}
paletteTools.prototype.show = function(args/*可设置调色板上左位置传值方式为{top:‘1px‘,left:‘1px‘}*/){
var top,left;
if(args != undefined){
top = args.top || 0;
left = args.left || 0;
$(‘#‘+this.PaletteID).css({top:top,left:left});
}
var obj = this.Eobj,pid = this.PaletteID;
if(obj == undefined || obj == null) return;
/*设置选中的颜色值*/
var setObjColor = function(selectedColor){
obj.css({background:selectedColor});
obj.val(selectedColor);
}
/*显示文本域的焦点、显示/隐藏*/
obj.focus(function(){
$(‘#‘+pid).css({display:‘block‘});
}).blur(function(){
$(‘#‘+pid).css({display:‘none‘});
});
/*颜色面板鼠标滑动效果*/
$(‘#‘+ pid +‘ li‘).mouseover(function(){
setObjColor($(this).attr(‘colorVal‘));
})
/*最终选取颜色点击*/
.click(function(){
setObjColor($(this).attr(‘colorVal‘));
$(‘#‘+pid).css({display:‘none‘});
});
}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="ctl00_Head1">
<title>调色板Demo </title>
<script type="text/javascript" language="javascript" src=‘Palette/jquery-1.3.2.min.js‘></script>
<script type="text/javascript" language="javascript" src=‘Palette/jq.palette.js‘></script>
<script type="text/javascript" language="javascript">
$(function(){
new paletteTools(‘txtTest‘).show();
new paletteTools(‘txtTest2‘).show({top:‘155px‘,left:‘7px‘});
});
</script>
</head>
<body>
<input type="text" id=‘txtTest‘ />
<br /><br /><br /><br /><br /><br />
<input type="text" id=‘txtTest2‘ />
</body>
</html>

完整DEMO http://files.cnblogs.com/keke/Palette.rar

时间: 2024-10-02 10:03:56

8、Javascript 调色板的相关文章

JavaScript学习笔记整理Day15

BOM浏览器对象模型 1.window 2.Location 3.History 4.Screen 5.Navigator 一.window window概述: 1.window是客户端JavaScript的全局对象 2.它表示web浏览器的一个窗口或窗体,并且用标识符window来引用 1.innerHeight 返回窗口的文档显示区高度 IE9以下不兼容 2.innerWidth 返回窗口的文档显示区宽度 IE9以下不兼容 解决方法: //获取窗口的宽高 var width = window

HTML/CSS/JavaScript学习总结(转)

HTML 网站开发的主要原则是: – 用标签元素HTML描述网页的内容结构: – 用CSS描述网页的排版布局: – 用JavaScript描述网页的事件处理,即鼠标或键盘在网页元素上的动作后的程序 HTML(Hyper Text Mark-up Language 超文本标记语言)的缩写,是最基础的网页语言 . Html是通过标签来定义的语言,代码都是由标签所组成 .Html代码不用区分大小写 . Html代码由<html>开始</html>结束.里面由头部分<head>

JavaScript补充:BOM(浏览器对象模型)

一些公共对象.详细参考手册. 一.Window 对象 Window 对象表示浏览器中打开的窗口. 如果文档包含框架(<frame> 或 <iframe> 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象. 注意: 没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象. 属性 描述 closed 返回窗口是否已被关闭. defaultStatus 设置或返回窗口状态栏中的默认文本. document 对 D

javascript学习笔记2

其实接触js已经不是一天两天了,但是没有系统的学习过,或者说系统学习的时候没有好好学习,这次想要把js好好的学习一下,可是后来发现它不是很好学,要学的东西非常的多,不过我相信我可以把它学好,现在研究的都是基础的内容,我把学习过程中学到的全部都记录下来,以备后面忘了的时候可以回来查看,下面进入正题: 今天学到的内容如下: 我们先来了解一下javascript的结构: 一个完整的javascript结构由以下三个部分构成: 1.核心 2.文档对象模型(DOM,document object mode

JavaScript Screen对象

Screen 对象 window.screen 对象包含有关客户端显示屏幕的信息. 注释:没有应用于 screen 对象的公开标准,不过所有浏览器都支持该对象. window.screen 对象在编写时可以不使用 window 这个前缀. 一些属性: screen.availWidth - 可用的屏幕宽度 screen.availHeight - 可用的屏幕高度 Window Screen 可用宽度 screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任

JQ插件案例-基于jquery和canvas的调色板

最近在研究canvas,想要弄一个canvas的所见所得工具. 在研究的过程中,猛然发现调色板不太好实现. 通过多方面研究及翻阅文献,发现网上对于调色板的实现大都是产生一个色块列表而已. 这种方式丑爆了好吧,而且选颜色麻烦死了,绿色还分那么多个块,怎么能好好选到自己心仪的颜色呢? 论插件来说的话,有一个插件还不错,基本和Photoshop的调色板差不多: 官网:spectrum 这款调色板还算比较符合我个人喜好,而且demo显示的功能也非常不错. 我没有下载,也没有去仔细研究它的实现方式,粗看了

01.JavaScript简介

学习JavaScript之前,确定你已经有了HTML.CSS基础. JavaScript能做什么? 1.动态改变页面内容(典型Angular) 2.通过修改CSS样式,动态改变网页的外观 3.验证表单数据 4.响应事件 JavaScript编辑工具(编辑器): 记事本(不多说,你懂的~可以进行简单修改).Visual Studio.Dreamweaver.SublimeText.Notepad++.WebStorm... JavaScript在HTML的引用共有4种: (1)页头引入(head标

重新学习js(1)——javascript对象

         之前曾经在慕课网学习过一段时间的javascript,不过学习的都是一些比较基础的知识,最近在w3c和菜鸟教程又重新学习了一遍javascript,属于在基础之上的延伸,收获颇多.         1.js Array对象 (1)Array对象属性 constructor :返回对创建此对象的数组函数的引用 length :设置或返回数组中元素的数目 prototype :可向对象添加属性和方法 (2)Array对象方法 concat(arrayX) 连接两个或多个数组返回新的

Jquery and Javascript Notes

工作就是一个学习的过程. 在这个过程中,你可以学到新的知识,你也可以温习你已经拥有的知识.JQuery Notes 是一个工作笔记.希望能帮助自己提升技术.会有更新..... 1.JQuery attr() Method The attr() method sets or returns attributes and values of the selected elements.           Return the value of an attribute;   $(selector)