Hash数据结构,我们通常用来存放键值对。在javascript中,没有规范的Hash的实现,一般,我们都会通过包装对象来模拟实现这样的Hash,来实现规范化的Hash对象操作。
另外,颜色代码的操作在做UI的时候很频繁,尤其是要做十分绚丽的效果的时候,需要对颜色代码做很多的计算,mootools在这个方面做了比较多的工作,通过对String,Array的扩展,以及提供的Color类,我们随时可以对颜色数据进行转换和计算。
类: 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中的所有值

var hash = new Hash(...{
one: 1,
two: 2,
three: 3
});
var one = hash.get('one');
var hk = hash.hasKey('three');
hash.set('four',4);

hash.each(function(v,k)...{
alert(k+'-'+v);
});
创建Hash的快捷方法:
$H
------------------------------------------------------------------------------------------------------------------------------------------------
类:Color
构造方法参数:
color - 代表颜色的代码,可以是十六进制代码,代表RGB或HSB代码的数组
type - 可选,用于明确指定代码的类型,有rgb,hsb,hex。当你要创建hsb代码或hex数组形式代码的时候,需要明确指定。
作用:颜色对象,包含了很多颜色管理方法。
var black = new Color('#000');
var purple = new Color([255,0,255]);
方法:mix
作用: 把两种或更多的颜色和当前颜色混合
参数:
参数个数不定,可以把多个颜色代码混合,当最后一个参数是一个数字的时候,这个数字被用作每次混合时取新颜色的百分量。
var darkpurple = black.mix('#fff', purple, 10);
$('myDiv').setStyle('background-color', darkpurple);
方法:invert
作用:取当前颜色的反色
var c = new Color('#FF9900').invert();
$('myDiv').setStyle('background-color',c);
方法:setHue
作用:设置颜色的色相
var c = new Color('#FF9900').setHue(10);
$('myDiv').setStyle('background-color',c);
方法:setSaturation
作用:设置色饱和度
var c = new Color('#FF9900').setSaturation(50);
$('myDiv').setStyle('background-color',c);
方法:setBrightness
作用:设置色彩亮度
var c = new Color('#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 相反的功能
分享到:
相关推荐
#### 九、工具类Hash和Color Mootools 提供了 Hash 和 Color 类,用于存储键值对和处理颜色值,增强了数据处理能力。 #### 十、window的扩展 Mootools 扩展了 window 对象,提供了一些全局可用的方法和属性,方便...
MooTools是一个轻量级的JavaScript库,它提供了一系列实用工具和高级功能,使得Web开发更为便捷。MooTools API是这个库的核心组成部分,它定义了各种类、方法和对象,帮助开发者创建交互性强、响应迅速的网页应用。...
- **Array**、**Number**、**String**等工具类,提供了许多扩展方法,如Array.each、Number.format、String.capitalize等。 - **Hash**:用于处理键值对的集合,支持遍历、合并等操作。 8. **MooTools与其他库的...
`Hash`类提供了键值对存储和操作,而`Function`类提供了函数相关的辅助方法。 #### 2.5 **CSS和布局** `Element.Style`和`Element.Position`提供了对元素样式和位置的高级控制,如获取和设置CSS属性,以及计算元素...
- **实用工具类**:如`Element.Shortcuts`提供对DOM元素的快捷操作,`Hash`用于键值对的管理。 6. **兼容性与优化** - **浏览器兼容**:MooTools致力于跨浏览器兼容,能在大多数现代浏览器及IE6+上运行。 - **...
MooTools支持基于原型的面向对象编程,`Class`构造器用于定义类,`Implements`和`Extends`关键字分别实现接口和继承。`Chain`类提供链式调用,`Events`类添加事件处理能力。 ### 7. mootoolsDoc 文件 `mootoolsDoc...
Mootools还包含了实用的工具函数,如Array、Function、String和Number的扩展,以及Object和Hash的操作。这些工具函数提高了代码的效率,简化了常见的编程任务。 **学习资源** Fdream的Mootools 1.2系列教程提供了...
6. **数据结构和数组操作**:为了管理图片数组和当前显示的图片索引,开发者可能会使用Mootools的数据结构类,如Array或Hash,进行数据操作。 7. **插件机制**:Mootools有一个强大的插件系统,允许开发者扩展其...