当前位置:主页   - 电脑 - 程序设计 - JAVA
mootools【九】- 工具类Hash和Color
来源:网络   作者:   更新时间:2012-08-11
收藏此页】    【字号    】    【打印】    【关闭

  说明:Hash数据结构,我们通常用来存放键值对。在javascript中,没有规范的Hash的实现,一般,我们都会通过包装对象来模拟实现这样的Hash,来实现规范化的Hash对象操作。

  另外,颜色代码的操作在做UI的时候很频繁,尤其是要做十分绚丽的效果的时候,需要对颜色代码做很多的计算,mootools在这个方面做了比较多的工作,通过对String,Array的扩展,以及提供的Color类,我们随时可以对颜色数据进行转换和计算。

  1.类:Hash

  构造方法-传入一个包含键值对的object

  方法:

  get:按键取值

  hasKey:判断是否有指定的键

  set:把键值对存放入Hash

  remove:删除指定键的键值对

  each:用法和Array的each相似,每个键值对的通过each中指定的函数

  的第一个参数(值)和第二个参数(键)传入。

  extend:把一个包含键值对的对象合并到当前Hash中,相同键的值将被新  的值覆盖。

  empty:这个方法的功能在mootools1.0和1.1dev版本中是完全不一样的,

  1.0中是判断Hash中是否已经没有键值对,而在1.1dev中是清空 Hash中的所有键值对,请注意区别。

  keys:获取Hash中的所有键

  values:获取Hash中的所有值

  例子:

varhash=newHash({
    one:1,
    two:2,
    three:3
});
varone=hash.get('one');
varhk =hash.hasKey('three');
hash.set('four',4);
hash.each(function(v,k){
  alert(k+'-'+v);
});

  另:

  创建Hash的快捷方法:

$H
$H({a:1,b:2})

  2.类:Color

  作用:颜色对象,包含了很多颜色管理方法。

  构造方法参数:

  color:代表颜色的代码,可以是十六进制代码,代表RGB或HSB代码的

  数组

  type:可选,用于明确指定代码的类型,有rgb,hsb,hex。当你要创建hsb 代码或hex数组形式代码的时候,需要明确指定。

varblack=newColor('#000');
varpurple=newColor([255,0,255]);

  方法:

  mix:把两种或更多的颜色和当前颜色混合

  参数:

  参数个数不定,可以把多个颜色代码混合,当最后一个参数是一个数字 的时候,这个数字被用作每次混合时取新颜色的百分量。

vardarkpurple=black.mix('#fff',purple,10);
$('myDiv').setStyle('background-color',darkpurple);

  invert:取当前颜色的反色

varc=newColor('#FF9900').invert();
$('myDiv').setStyle('background-color',c);

  setHue:设置颜色的色相

varc=newColor('#FF9900').setHue(10);
$('myDiv').setStyle('background-color',c);

  setSaturation:设置色饱和度

varc=newColor('#FF9900').setSaturation(50);
$('myDiv').setStyle('background-color',c);

  setBrightness:设置色彩亮度

varc=newColor('#FF9900').setBrightness(10);
$('myDiv').setStyle('background-color',c);

  另:

  创建Color的两个快捷工具方法:

$RGB(r,g,b)-建立RGB模式的Color
$HSB(h,s,b)-建立HSB模式的Color

  如果加载了Color.js,那么Array还会被扩展两个方法:

rgbToHsb-当前数组前三个元素将被作为rgb值,转换为hsb值代表的数组
hsbToRgb-和rgbToHsb相反的功能

  文章来源: http://www.cnblogs.com/ziyiFly/archive/2008/09/11/1289247.html

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明