MooTools.docx

上传人:b****7 文档编号:9101617 上传时间:2023-02-03 格式:DOCX 页数:128 大小:82.15KB
下载 相关 举报
MooTools.docx_第1页
第1页 / 共128页
MooTools.docx_第2页
第2页 / 共128页
MooTools.docx_第3页
第3页 / 共128页
MooTools.docx_第4页
第4页 / 共128页
MooTools.docx_第5页
第5页 / 共128页
点击查看更多>>
下载资源
资源描述

MooTools.docx

《MooTools.docx》由会员分享,可在线阅读,更多相关《MooTools.docx(128页珍藏版)》请在冰豆网上搜索。

MooTools.docx

MooTools

目录

MooTools教程

(1):

认识MooTools4

MooTools1.2JavaScript库介绍4

引用MooTools1.24

在Head标签之内添加Script标签4

把代码放在domready中5

把代码放在一个函数中5

关于库的详细介绍5

全局概览7

更多学习7

MooTools教程

(2):

DOM选择器8

基本的方法8

用运算符包含和排除结果10

基于元素顺序的选择器11

代码举例12

更多学习……13

MooTools教程(3):

数组管理DOM元素13

基本方法13

复制一个数组15

从数组中获取指定的元素15

向数组中添加一个元素16

代码示例17

延伸学习18

MooTools教程(4):

函数和MooTools18

函数基础19

单个参数20

多个参数20

返回值21

把函数作为参数22

代码示例22

延伸学习...23

MooTools教程(5):

事件处理24

左键单击事件24

鼠标进入和离开事件25

删除一个事件26

textarea或者input中的按键事件26

示例27

更多学习……28

MooTools教程(6):

操纵HTMLDOM元素28

基本方法28

移动元素30

创建一个新元素31

示例32

更多学习...34

MooTools教程(7):

设置和获取样式表属性34

基本方法35

设置和获取多个样式表属性35

代码示例37

更多学习...40

MooTools教程(8):

输入过滤-数字40

rgbToHex()40

toInt()41

$type()41

limit()42

示例代码42

更多学习43

MooTools教程(9):

输入过滤-字符串43

trim()44

clean()45

contains()45

substitute()46

更多学习48

MooTools教程(10):

Fx.Tween渐变48

Tween的快捷方法49

更多渐变(Tween)52

更多学习……54

MooTools教程(11):

Fx.Morph、Fx选项和Fx事件55

Fx.Morph55

Fx选项(Options)57

Fx的事件59

示例60

更多学习……62

MooTools教程(12):

Drag.Move来实现拖放62

基本用法62

代码示例66

更多学习……69

MooTools教程(13):

正则表达式69

基本用法69

有趣的事情71

更多学习75

MooTools教程(14):

定时器和Hash对象76

.periodical()函数76

内置的.bind()方法76

停止一个定时触发的函数77

代码示例77

Hash快速入门78

更多学习80

MooTools教程(15):

滚动条(Slider)81

基本用法81

代码示例83

MooTools教程

(1):

认识MooTools

有人最近要求我们写一个关于MooTools1.2的30天的教程,这似乎也是个很不错的主意,于是我们决定现在就开始。

在这些教程中,我们假设用户没有任何MooTools或者是JavaScript经验,但是至少有基本的HTML和CSS知识。

MooTools1.2JavaScript库介绍

MooTools1.2是个强大的轻量级的JavaScript库,专门为减轻Web中交互性JavaScript开发。

在某种程度上,你可以认为MooTools是CSS的扩展。

例如,CSS可以让你在鼠标移上去时发生改变。

JavaScript允许你接触更多的时间(点击事件、鼠标悬停事件、键盘事件……),MooTools让这一切变得非常容易。

另外,MooTools还有各种各样的非常好的扩展,可以让你不只是改变一个元素的属性,还可以让你有”morph“(变形)或者”tween“(补间动画)属性,让你有能力去创建动画效果,就像你在我的导航菜单上看到的一样(Fdream注:

原作者的,我的首页也有)。

这只是一个例子,MooTools可以让你做更多的事情。

在接下来的30天里,我们将深入MooTools库,探索从数组(Array)和函数(Function)到Fx.Slide,以及其他捆绑插件的每一个东西。

引用MooTools1.2

首先,下载并引用MooTools1.2核心库。

1.下载MooTools1.2核心库

2.把MooTools1.2核心库上传到你的服务器或者工作区

3.在你的HTML文档头部head标记之内链接MooTools1.2核心库

参考代码:

 [复制代码] [保存代码]

1.

(Fdream注:

现在MooTools1.2下载下来后,默认的后缀名是”.txt“,请更改后缀为”.js“。

在Head标签之内添加Script标签

现在,你已经在你的页面中应用了了MooTools了,你还需要一个地方来写你的代码。

这里有两种选择:

1.把下面的代码写在你的head标签之内,你的代码写在script标记之内:

参考代码:

 [复制代码] [保存代码]

1.

2.//Mootools code goes here

3.

2.在外部建立一个JavaScript文件,然后在页面头部链接此文件:

参考代码:

 [复制代码] [保存代码]

1.

在这里,你可以使用任何一种方式。

我通常把domready事件中调用的方法放在script标记之间,而我的函数放在外部文件中。

把代码放在domready中

MooTools的方法必须在domready事件中调用。

参考代码:

 [复制代码] [保存代码]

1.window.addEvent('domready', function() {

2.    exampleFunction();

3.});

(Fdream注:

不完全是这样,但是可以保证你的JavaScript代码尽可能少地出错。

顺便说一下domready事件:

当页面的HTML代码(不包括图片、flash等等,只是代码)下载完成时,此时会触发domready事件。

这样可以在页面完全下载完成(包括图片、flash等都下载完成)之前执行你的脚本,从而避免因为一张大图要下很长时间而导致脚本不能执行,从而出现异常。

把代码放在一个函数中

你仍然可以在domready之外创建你的函数,然后在domready中调用它:

参考代码:

 [复制代码] [保存代码]

1.var exampleFunction = function() {

2.     alert('hello')

3.};

4. 

5.window.addEvent('domready', function() {

6.    exampleFunction();

7.});

关于库的详细介绍

在这第一讲中,我们会仔细地看了一下这个库架构的一些关键组件,然后粗略地看一下其他基本功能。

Core(核心)

核心(core)部分包含MooTools库的一些公共函数(Function)来完成一些常见的任务,也加强了许多原有功能(后面会有详细介绍)。

下面的内容只是作为MooTools功能的一些例子,并不能替代您阅读MooTools的文档。

∙检查一个值(如果没有值或者为0则返回false)-$chk(value);

∙返回两个值之间的一个随机整数-$random(min,max);

∙可以更容易地检测浏览器、浏览器的引擎及浏览器的能力

(Fdream注:

第一个描述有误,$chk(value)只是检查一个值是不是已经定义或者已经赋值,为0时会返回true,只有undefined或者null时返回false。

Native(本地对象)

在库的这一部分也包含了一些公共工具,可以让你很容易地操作数组(Array,值或者对象的简单列表)、函数(Function)、数值(Number)、字符串(String)、哈希对象(Hash)和事件(Event)。

这里是本地对象中的一些工具特性:

∙对数组中的每个元素执行一段脚本-.each();

∙得到数组中的最后一个元素-.getLast();

∙每个x毫秒触发一个事件-.periodical();

∙对小数取整-.round();

∙把rgb转换为十六进制(HEX)-.rgbToHex();

Class(类)

一个JavaScript类(相对于CSS的类),是一个功能可以重复使用的对象。

若要更多地了解MooTools类,你可以看看Valerio的这篇简单介绍的文章(MooTools类——怎样使用它们)。

我也同时推荐DavidWalsh的MooTools类模板。

Element(元素)

MooTools库的Element类提供了一些非常有用的功能。

通过这个类,你可以选择DOM元素、操控他们的属性和位置、改变他们的CSS风格。

这里是MooTools提供的一些非常强大的处理DOM元素的工具:

∙选择所有有相同ID或者CSS类名的DOM元素-.getElements();

∙给一个元素添加一个CSS类-.addClass();

∙取得一个元素的属性值-.getProperty();

∙改变一个元素的属性值-.setProperty();

∙取得一个元素的样式属性值-.getStyle();

∙改变一个元素的样式属性值-.setStyle();

∙取得一个元素的坐标位置-.getCoordinates();

(Fdream注:

不推荐在一个页面中有多个相同ID,最好不要出现,在一些浏览器下很容易出现不可预见的错误。

Utilities(实用工具)

实用工具(Utilities)提供了更多精良的选择逻辑,包括domready事件、可以管理AJAX调用的工具、可以轻松管理cookie的工具,甚至还有”swiff“功能,可以提供JavaScript接口给ActionScript。

FX(效果)

这可能是MooTools最有趣的部分了。

通过Fx(效果),你可以创建”Tween“(补间动画)和”morph“(形变动画)效果,从而让你的DOM对象动起来。

∙在两个样式属性值之间创建一个动画变形(比如让一个div平缓地变大)-varmyFx=newFx.Tween(element);

∙在多个不同的属性值之间创建一个动画变形(比如在让一个div平缓变大的过程中,让它的边框越来越初,同时变换它的背景颜色)-varmyFx=newFx.Morph(element);

Request(请求)

包含一些可以轻松处理JavaScriptXMLHttpRequest(AJAX)功能的工具。

为了减轻整个请求/响应(request/response)带来的痛苦,Request对象还有一些专门用来处理HTML和JSON对象(JavaScript对象表示法)的扩展。

Plugins(插件)

MooTools插件扩展了核心功能,可以轻松地为你的web项目添加高级UI功能。

插件列表如下:

∙Fx.Slide

∙Fx.Scroll

∙Fx.Elements

∙Drag

∙Drag.Move

∙Color

∙Group

∙Hash.Cookie

∙Sortables

∙Tips

∙SmoothScroll

∙Slider

∙Scroller

∙Assets

∙Accordion

全局概览

在开始下一讲之前,花一点时间全面地看一下MooTools的文档。

可能有些地方你看不太懂,不要管它,尽管通读它,然后吸收那些你懂的。

在接下来的29天中,我们将逐步深入这个库特定的部分,然后把MooTools分解成一些容易消化的小部分,但是首先,一定要好好看一下整个目录。

更多学习

一个压缩包,包含了你开始起步所需要的所有东西

包括一个MooTools1.2核心库、一个简单的HTML文件、一个用来写你的函数的外部的JavaScript文件、一个CSS样式表文件。

这个HTML文件已经已经写了详细的注释,并包含有domready事件。

其他的MooTools教程

同时,这里列出了一些其他帮助你开始的的MooTools教程。

MooTools1.2备忘录

这里是一份很好的MooTools1.2功能的归纳表,我才给自己打印了一份,正在找地方把它给挂起来。

也许我应该顺便拜访一下打印机,然后让它们给我提供一张海报大小的:

)。

不管怎样,这里是MooTools1.2备忘录的链接。

Mootools论坛

如果你想和其他人讨论MooTools,检查代码示例或者深入讨论某个问题,你可以来这里。

这才刚刚开张,但是正在逐渐热起来:

MooTools1.2论坛。

MooTools教程

(2):

DOM选择器

如果你还没有准备好,请先阅读上一篇《Mootools1.2教程

(1)——MooTools介绍》。

我们讲了怎么引用MooTools1.2以及怎么在domready里面调用你的脚本。

今天开始本系列教程的第2讲。

在这一讲中,我们会学习几种选择HTML元素的方法。

在许多方面,这是MooTools用得最多最基本的。

毕竟,要创建一个基于HTML元素的交互性用户体验,你必须首先把它们掌握在手中。

基本的方法

$();

$函数是MooTools中基本的选择器。

你可以通过它来根据一个ID选择DOM元素。

参考代码:

 [复制代码] [保存代码]

1.// 选择ID为”body_wrap“的元素

2.$('body_wrap');

参考代码:

 [复制代码] [保存代码]

1.

2.

.getElement();

.getElement();扩展了$方法,可以让你简化你的选择操作。

例如,你可以通过$方法来选择ID为”body_wrap“的元素,然后选择第一个子节点。

.getElement();只选择一个元素,如果有多个符合要求的元素则返回第一个元素。

如果你给.getElement();方法一个CSS类名作为参数,你就会得到第一个有这个CSS类名的元素,而不是函数所有元素的数组。

要选择多个元素,则可以使用下面的.getElements();方法。

参考代码:

 [复制代码] [保存代码]

1.// 选择ID为”body_wrap“的元素下面的第一个链接

2.$('body_wrap').getElement('a'); 

3. 

4.// 选择ID为”body_wrap“的元素下面的ID为”special_anchor“的元素

5.$('body_wrap').getElement('#special_anchor'); 

6. 

7.// 选择ID为”body_wrap“的元素下面第一个CSS类名为”special_anchor_class“的元素

8.$('body_wrap').getElement('.special_anchor_class');

参考代码:

 [复制代码] [保存代码]

1.

2.        anchor

3.        another anchor

4.        special anchor

5.        special anchor

6.        another special anchor

7.

$$();

$$函数可以可以让你快速选择多个元素,并组成一个数组(一种你可以操作、获取和以任何方式重新排序的列表)。

你可以通过标签名(如div、a、img等)、或者ID或者是他们的各种组合来选择多个元素。

就像一个读者指出的那样,你可以用$$做很多事情,远远超出我们这里所介绍的。

参考代码:

 [复制代码] [保存代码]

1.// 选择这个页面中的所有div

2.$$('div'); 

3. 

4.// 选择ID为”id_name的元素和所有的div

5.$$('#id_name', 'div');

参考代码:

 [复制代码] [保存代码]

1.

2.    

a div

3.    a span

4.

.getElements();

.getElements();和.getElement();非常类似,不过它返回所有符合要求的元素,并组成一个数组。

你可以想使用.getElement();方法那样使用.getElements();。

参考代码:

 [复制代码] [保存代码]

1.// 选择ID为”body_wrap“的元素下面的所有链接

2.$('body_wrap').getElements('a'); 

3. 

4.// 选择ID为”body_wrap“的元素下面的所有CSS类名为”special_anchor_class“的子元素

5.$('body_wrap').getElements('.special_anchor_class');

参考代码:

 [复制代码] [保存代码]

1.

2.        anchor

3.        another anchor

4.        special anchor

5.        another special anchor

6.

用运算符包含和排除结果

运算符

MooTools1.2支持几种运算符,可以让你进一步精简你的选择操作。

你可以在.getElements();中使用这些运算符来包含或者排除特定的结果。

MooTools支持4种运算符,每一种都可以用来通过名字(name)选择一个input元素。

∙=等于

参考代码:

 [复制代码] [保存代码]

1.//选择name为”phone_number“的input元素

2.$('body_wrap').getElements('input[name=phone_number]');

∙ ^=以……开头

参考代码:

 [复制代码] [保存代码]

1.// 选择name以”phone“开头的input元素

2.$('body_wrap').getElements('input[name^=phone]');

∙$=以……结束

参考代码:

 [复制代码] [保存代码]

1.// 选择name以数字(number)结束的input元素

2.$('body_wrap').getElements('input[name$=number]');

∙!

=不等于

参考代码:

 [复制代码] [保存代码]

1.// 选择名字不等于”address“的input元素

2.$('body_wrap').getElements('input[name!

=address]');

参考代码:

 [复制代码] [保存代码]

1.

2.    

3.     

-- 上面的所有示例代码都将选中这个元素 -->

4.

(Fdream注:

input在这里只是作为一个例子,你同样可以使用这种方式选择其他元素,比如div、a等等。

要使用运算符,你必须首先指定元素的类型(比如这里的input),然后指定你要过滤的属性(比如这里的name),再加上你的运算符,最后选择你的过滤字符串。

基于元素顺序的选择器

even(偶数选择)

通过这个简单的选择器,你可以选择序号为偶数的元素。

注意:

这个选择器从0开始计数,因此第一个元素是偶数序的。

参考代码:

 [复制代码] [保存代码]

1.// 选择序号为偶数的div

2.$$('div:

even');

参考代码:

 [复制代码] [保存代码]

1.

Even

-- 上面的代码将选中这个元素 -->

2.

Odd

3.

Even

-- 上面的代码将选中这个元素 -->

4.

Odd

odd(奇数选择)

和even一样,只不过它选择序号为奇数的元素。

参考代码:

 [复制代码] [保存代码]

1.// 选择所有序号为奇数的div

2.$$('div:

odd');

参考代码:

 [复制代码] [保存代码]

1.

Even

2.

Odd

-- 上面的代码将选中这个元素 -->

3.

Even

4.

Odd

-- 上面的代码将选中这个元素 -->

.getParent();

通过.getParent();方法,你可以得到一个元素的父元素(parent)。

参考代码:

 [复制代码] [保存代码]

1.// 选择ID为”child_id“的元素的父元素

2.$('child_id').getParent();

参考代码:

 [复制代码] [保存代码]

1. 

-- 上面的脚本将返回这个元素-->

2.    Even

3.

代码举例

任何MooToolsUI开发都是从选择器开始的。

这里是一些非常简单的例子,演示了怎么去使用选择器操作DOM元素。

参考代码:

 [复制代码] [保存代码]

1.// 设置所有span的背景颜色为#eee

2.$$('span').setStyl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1