一周学会Mootools 1.4中文教程:序论
刚才发了几篇Mootools(以后直接简称Moo或Mt,看到这两个名字的时候不要感到奇怪),有一位热心的朋友"追杀"告诉我说现在已经出到1.4了,就不要再纠结于1.2了,想象一下有道理,其实我现在自己用的也是1.4,那么好吧,接下来的时间我将直接提供1.4的教程,1.2的那个就让他太监掉吧.
接下来我说一下Mt是啥,其实很多人都知道jquery,mootools与之类似,我以前是写jquery的,学了5个小时,写了5个月,最后后悔了5个月,不得已转至Mootools上,Mootools的官网是:Mootools.net,刚刚有人问我Mt在国内是不是不流行,说实话,Mootools在华人地区都并不流行,不仅仅是在国内(当然了这个国内指的是中国大陆,而我是在台湾的),原因很简单,缺少中文教学文档.
或许有人会说1.2你要30天学会,而为何1.4反而只需要一周呢,其实原因很简单,Mt不过就是一种写js的手段罢了,它提供了很多的函数和效果给我们,如果死记硬背这些东西的话,可能要半年才能学会,那么既然就是一个工具,说不定哪天再升级的时候函数又变了我们何必要死记硬背呢,我们只需要知道什么函数是做什么用的就行了,用他的时候很方便的知道这个函数的函数名字和语法格式这就ok了.其他的都让他见鬼去吧.我保证只要按照我的方法做一周决定能让你上手写Mt代码,至少我用了4天就开始写了.
MooTools是 个强大的轻量级的JavaScript库,专门为减轻Web中交互性JavaScript开发。在某种程度上,你可以认为MooTools是CSS的扩 展。例如,CSS可以让你在鼠标移上去时发生改变。JavaScript允许你接触更多的时间(点击事件、鼠标悬停事件、键盘事 件……),MooTools让这一切变得非常容易。这里不得不顺便提一下,Mootools可以自定义事件,而jquery只能用那几个定死的事件.例 如:
//jquery事件写法:
$('#??').click(function(){...}) //充其量牛逼一点的写法不过就是:
$('#??').bind('click,mouseover',function(){...}) //mootools的写法:
$('??').addEvent('click',function(){...}) //这个写法jq用户看了一定眼晕
$('??').addEvent('click:click:relay(a.myStyle)',function(){...}) //这是自定义事件,事件是你自己随便定义的
$('??').addEvent('ctrlPress',function(){...})
还有就是和jquery语法结构的差异,在jquery里不管你要干啥,你都得把代码封装进$(document).ready(function() {});这玩意里边然而Mootools随便你,他不要求你这么做,这其中是有很大差异的,想象一下,如果你的网站有很多特殊效果,那么你就会对应的需要 很多效果的插件,在jquery里你就必须要把这些插件放入$(document).ready(function(){});里才能正常使用,然后放入 这里面就要意味着当打开你的网站的时候哪怕你什么事情都不做,客户的电脑都得需要执行一遍这些扩展,执行的后患就是内存开销了,尤其是jquery这个不 懂得释放内存的框架,更是让人抓狂.在过去的5个月内我曾遇到过浏览器消耗了我超过3G的内存的状况,这实在太恐怖了.然而Mootools不是如此,他 所有的插件都是开发成class,当然了简单的插件你也可以用function,只要你不实例化或调用他根本就不会消耗内存,就算内存有了消耗只要一句简 单的destroy就能搞定了,天空一片晴朗,用过jquery的朋友请回想一下当你频繁ajax的时候你的内存的状况吧..
另外,MooTools还有各种各样的非常好的扩展,可以让你不只是改变一个元素的属性,还可以让你有」morph「(变形)或者」tween「(补间动 画)属性,让你有能力去创建动画效果,就像你在我的导航菜单上看到的一样(Fdream注:原作者的,我的首页也有)。
Mt的组成部分:
Mt有两部分组成:
第一部分是:Core,核心.我们可以把它理解成jquery的核心框架包
第二部分是:More,插件.我们可以把它理解成jquery的那些乱七九糟的插件
接下来的时间我只讲解Core的部分,至于插件我只挑选几个常用的说一下.
Mt的下载:
mt的下载地址是:http://mootools.net/download
下载的时候需要注意下,目前下载页面提供的核心下载有四个不同的版本,看下边的图:

我说一下右上角的定制核心,和定制插件是干啥的,定制核心就是允许你把你认为自己不需要的核心部分给剔除掉,从而减少核心js文件的大小,例如array,json等如果你不需要你就可以把左侧的对勾去掉,然后拉到页面的最下方,找到option
Include Compatibility This puts MooTools in compatibility mode with previous versions (1.3 and 1.2).
如果你需要兼容1.2和1.3的代码写法(1.2;1.3;1.4这几个版本都有很大的差异),那么你就勾选一下,当然了勾选了之后js包的尺寸会大一些
然后看到下边两行
YUI Compressor Uses YUI Compressor by Julien Lecomte, to clean whitespace and rename internal variables to shorter values. Highest compression ratio.
No Compression Uncompressed source. Recommended in testing phase.
第一行是告诉你使用YUI压缩一下核心框架包的js源码
第二行当然就是不压缩了,基本上我都是需要压缩一下的,节省网路带宽.
最后下载就行了
下载好后就等着下一课正式开讲吧.
全局概览
在正式开始之前,给大家提供几个网址好让大家预习一下。
http://mootools.net/demos/ 这里有一些demo
http://mootools.net/docs/core 这是Mt的核心手册
http://mootools.net/docs/more 这是Mt插件手册
http://mootools.net/forge/ 这是Mt提供的一些插件
同時,這裡列出了一些其他幫助你開始的的MooTools教程。
需要童鞋们准备的工具
1.Editplus:(必须)
下载地址是:http://download.csdn.net/detail/sibang/3357197
Dreamweaver之类的大块头都可以丢掉了,其实这个挺好用的,我从html,css,div,xml,json,js,asp,php,c都使用他一手包办的.
2.Firefox浏览器及firebug插件.
下载地址是:http://firefox.com.cn/download/
firebug的下载安装方法:打开firefox,然后点"工具","附加组件",搜索firebug就行了,找到之后点安装,最后重启firefox,按F12键就能开启了.
一周学会Mootools 1.4中文教程:序论的更多相关文章
- 一周学会Mootools 1.4中文教程:(7)汇总收尾
转眼之间已经第七课了,这也将成为最后一课,如果这7课下来您感觉水平没有达到预想的水平,没关系您可以继续关注本站的博文,我会陆续发一些类似的文章帮您提升水平,另外我最近打算和群里的几个Mootools爱 ...
- 一周学会Mootools 1.4中文教程:(1)Dom选择器
利器: 君欲善其事须先利其器,好吧因为我们的时间比较紧迫,只有六天而已,那么六天的时间用死记硬背的方式学会Mt犹如天方夜谭,因此我们需要借鉴一下Editplus的素材栏帮我们记忆就好了,当我们需要用到 ...
- 一周学会Mootools 1.4中文教程:(6)动画
先看一下动画的参数设置: 参数: fps - (number:默认是50) 每秒的帧数. unit - (string:默认是 false) 单位,可为 'px','em',或 '%'. link - ...
- 一周学会Mootools 1.4中文教程:(5)Ajax
ajax在我们前台的开发中是非常重要的,所以我们单独拿出一节课来讲述,首先我们看一下mootools的ajax构成 语法: var myRequest=new Request([参数]); 参数: u ...
- 一周学会Mootools 1.4中文教程:(3)事件
今天我們講解一下mt的事件部分,对于事件的讲解主要包含三部分,分别是:绑定,移除,和触发,我们首先来看一个例子 //jquery的事件绑定方式$('a').click(function){ alert ...
- 一周学会Mootools 1.4中文教程:(4)类型
Mootools的类型主要包含下边几部分:String:字符串;Number:数字;Array:数组;Object:对象;Json:;Cookie:. 这也是我们今天的讲述重点.每一种数据类型Mt都为 ...
- 一周学会Mootools 1.4中文教程:(2)函数
温故: 透过对上一节课的学习,相信大家对mt的选择器应该有了一定的认识了,我再放几个小示例让大家对选择器的复杂应用有所了解: <!DOCTYPE html PUBLIC "-//W3C ...
- 一周学会go语言并应用 by王奇疏
<一周学会go语言并应用> by王奇疏 ( 欢迎加入go语言群: 218160862 , 群内有实践) 点击加入 零.安装go语言,配置环境及IDE 这部分内容不多,请参考我的这篇安装环境 ...
- webstorm的中文教程和技巧分享
webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享.webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu.c ...
随机推荐
- android上下文
在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder( ...
- SharePoint 2013 Designer 自己定义操作菜单
众所周知,我们在SharePoint的二次开发中,常常会加入ECB菜单或者Ribbon菜单,通常我们会採取Feature的方式去加入一个Xml,或者採取JavaScript的方式.当然.除此之外,还能 ...
- HTTP的报文格式解析
一.概述 http报文是面向文本的,报文中每一个字段都是一些ASCII码串,各个字段的长度是不确定的.http有两类报文:请求报文 响应报文 二.请求报文 一个http请求报文由 请求行(reque ...
- VBA 开发学习--基础语法
MsgBox "开始学习VBA" '提示框 Dim str As String '声明str变量是string类型 Let str = "一起来看流星雨" '给 ...
- events模块
/** * Created by Administrator on 2016/8/3. */ var http = require("http"); //Node 导入文件系统模块 ...
- 在zendstudio上配置SVN
本文介绍zendstudio结合SVN的使用方法. 一.部署svn服务器 直接安装用svn软件,配置太过麻烦,用户和版本库.权限管理不太方便.推荐使用CollabNetSubversionEdge.以 ...
- OSCache缓存框架介绍
OSCache是一种开放性的JSP定制标记应用,由OpenSymphony设计,提供了在现有JSP页面之内实现快速内存缓冲的功能. OSCache是个一个广泛采用的高性能的J2EE缓存框架 ...
- session.createQuery()不执行和java.lang.reflect.InvocationTargetException
今天写SSH的工程的时候,执行到一个DAO中的Query query = session.createQuery(hql)的时候,没有成功执行,直接跳到了finally,然后前台报了500和java. ...
- Android程序报错 Connection refused 处理
在用Android测试JSON数据解析的时候,报了这样一个异常: java.net.ConnectException: localhost/ - Connection refused 原来模拟器默认把 ...
- cocos2dx CCLayerColor和CCLayerColor
在cocos2dx中,默认的CCLayer背景是黑色的,有些时候需要特殊的Layer,所以cocos2dx中提供了这两种Layer CCLayerColor是可以改变背景色的Layer,示例如下: C ...