有人最近要求咱們寫一個關於MooTools 1.2的30天的教程,這彷佛也是個很不錯的主意,因而咱們決定如今就開始。在這些教程中,咱們假設用戶沒有任何MooTools或者是JavaScript經驗,可是至少有基本的HTML和CSS知識。git
MooTools 1.2是 個強大的輕量級的JavaScript庫,專門爲減輕Web中交互性JavaScript開發。在某種程度上,你能夠認爲MooTools是CSS的擴 展。例如,CSS可讓你在鼠標移上去時發生改變。JavaScript容許你接觸更多的時間(點擊事件、鼠標懸停事件、鍵盤事 件……),MooTools讓這一切變得很是容易。github
另外,MooTools還有各類各樣的很是好的擴展,可讓你不僅是改變一個元素的屬性,還可讓你有」morph「(變形)或者」tween「(補間動畫)屬性,讓你有能力去建立動畫效果,就像你在個人導航菜單上看到的同樣(Fdream注:原做者的,個人首頁也有)。web
這只是一個例子,MooTools可讓你作更多的事情。在接下來的30天裏,咱們將深刻MooTools庫,探索從數組(Array)和函數(Function)到Fx.Slide,以及其餘捆綁插件的每個東西。json
首先,下載並引用MooTools 1.2核心庫。數組
(Fdream注:如今MooTools 1.2下載下來後,默認的後綴名是」.txt「,請更改後綴爲」.js「。)瀏覽器
如今,你已經在你的頁面中應用了了MooTools了,你還須要一個地方來寫你的代碼。這裏有兩種選擇:服務器
1. 把下面的代碼寫在你的head標籤以內,你的代碼寫在script標記以內:cookie
2. 在外部創建一個JavaScript文件,而後在頁面頭部連接此文件:架構
在這裏,你可使用任何一種方式。我一般把domready事件中調用的方法放在script標記之間,而個人函數放在外部文件中。dom
MooTools的方法必須在domready事件中調用。
(Fdream注:不徹底是這樣,可是能夠保證你的JavaScript代碼儘量少地出錯。順便說一下domready事件:當頁面的HTML代 碼(不包括圖片、flash等等,只是代碼)下載完成時,此時會觸發domready事件。這樣能夠在頁面徹底下載完成(包括圖片、flash等都下載完 成)以前執行你的腳本,從而避免由於一張大圖要下很長時間而致使腳本不能執行,從而出現異常。)
你仍然能夠在domready以外建立你的函數,而後在domready中調用它:
在這第一講中,咱們會仔細地看了一下這個庫架構的一些關鍵組件,而後粗略地看一下其餘基本功能。
Core(核心)
核心(core)部分包含MooTools庫的一些公共函數(Function)來完成一些常見的任務,也增強了許多原有功能(後面會有詳細介紹)。下面的內容只是做爲MooTools功能的一些例子,並不能替代您閱讀MooTools的文檔。
(Fdream注:第一個描述有誤,$chk(value)只是檢查一個值是否是已經定義或者已經賦值,爲0時會返回true,只有undefined或者null時返回false。)
Native(本地對象)
在庫的這一部分也包含了一些公共工具,可讓你很容易地操做數組(Array,值或者對象的簡單列表)、函數(Function)、數值(Number)、字符串(String)、哈希對象(Hash)和事件(Event)。這裏是本地對象中的一些工具特性:
Class(類)
一個JavaScript類(相對於CSS的類),是一個功能能夠重複使用的對象。若要更多地瞭解MooTools類,你能夠看看Valerio的這篇簡單介紹的文章(MooTools類——怎樣使用它們)。我也同時推薦David Walsh的MooTools類模板。
Element(元素)
MooTools庫的Element類提供了一些很是有用的功能。經過這個類,你能夠選擇DOM元素、操控他們的屬性和位置、改變他們的CSS風格。這裏是MooTools提供的一些很是強大的處理DOM元素的工具:
(Fdream注:不推薦在一個頁面中有多個相同ID,最好不要出現,在一些瀏覽器下很容易出現不可預見的錯誤。)
Utilities(實用工具)
實用工具(Utilities)提供了更多精良的選擇邏輯,包括domready事件、能夠管理AJAX調用的工具、能夠輕鬆管理cookie的工具,甚至還有」swiff「功能,能夠提供JavaScript接口給ActionScript。
FX(效果)
這多是MooTools最有趣的部分了。經過Fx(效果),你能夠建立」Tween「(補間動畫)和」morph「(形變更畫)效果,從而讓你的DOM對象動起來。
Request(請求)
包含一些能夠輕鬆處理JavaScript XMLHttpRequest(AJAX)功能的工具。爲了減輕整個請求/響應(request/response)帶來的痛苦,Request對象還有一些專門用來處理HTML和JSON對象(JavaScript對象表示法)的擴展。
Plugins(插件)
MooTools插件擴展了核心功能,能夠輕鬆地爲你的web項目添加高級UI功能。插件列表以下:
在開始下一講以前,花一點時間全面地看一下MooTools的文檔。可能有些地方你看不太懂,不要管它,儘管通讀它,而後吸取那些你懂的。在接下來 的29天中,咱們將逐步深刻這個庫特定的部分,而後把MooTools分解成一些容易消化的小部分,可是首先,必定要好好看一下整個目錄。
包括一個MooTools 1.2核心庫、一個簡單的HTML文件、一個用來寫你的函數的外部的JavaScript文件、一個CSS樣式表文件。這個HTML文件已經已經寫了詳細的註釋,幷包含有domready事件。
其餘的MooTools教程
同時,這裏列出了一些其餘幫助你開始的的MooTools教程。
MooTools 1.2 備忘錄
這裏是一份很好的MooTools 1.2功能的概括表,我纔給本身打印了一份,正在找地方把它給掛起來。也許我應該順便拜訪一下打印機,而後讓它們給我提供一張海報大小的:)。無論怎樣,這裏是MooTools 1.2備忘錄的連接。
Mootools論壇
若是你想和其餘人討論MooTools,檢查代碼示例或者深刻討論某個問題,你能夠來這裏。這纔剛剛開張,可是正在逐漸熱起來:MooTools 1.2論壇。