有人最近要求我們寫一個關于mootools 1.2的30天的教程,這似乎也是個很不錯的主意,于是我們決定現(xiàn)在就開始。在這些教程中,我們假設用戶沒有任何mootools或者是javascript經(jīng)驗,但是至少有基本的html和css知識。
mootools 1.2是個強大的輕量級的javascript庫,專門為減輕web中交互性javascript開發(fā)。在某種程度上,你可以認為mootools是css的擴展。例如,css可以讓你在鼠標移上去時發(fā)生改變。javascript允許你接觸更多的時間(點擊事件、鼠標懸停事件、鍵盤事件……),mootools讓這一切變得非常容易。
另外,mootools還有各種各樣的非常好的擴展,可以讓你不只是改變一個元素的屬性,還可以讓你有”morph“(變形)或者”tween“(補間動畫)屬性,讓你有能力去創(chuàng)建動畫效果,就像你在我的導航菜單上看到的一樣(fdream注:原作者的,我的首頁也有)。
這只是一個例子,mootools可以讓你做更多的事情。在接下來的30天里,我們將深入mootools庫,探索從數(shù)組(array)和函數(shù)(function)到fx.slide,以及其他捆綁插件的每一個東西。
首先,下載并引用mootools 1.2核心庫。
(fdream注:現(xiàn)在mootools 1.2下載下來后,默認的后綴名是”.txt“,請更改后綴為”.js“。)
現(xiàn)在,你已經(jīng)在你的頁面中應用了了mootools了,你還需要一個地方來寫你的代碼。這里有兩種選擇:
1. 把下面的代碼寫在你的head標簽之內(nèi),你的代碼寫在script標記之內(nèi):
2. 在外部建立一個javascript文件,然后在頁面頭部鏈接此文件:
在這里,你可以使用任何一種方式。我通常把domready事件中調(diào)用的方法放在script標記之間,而我的函數(shù)放在外部文件中。
mootools的方法必須在domready事件中調(diào)用。
(fdream注:不完全是這樣,但是可以保證你的javascript代碼盡可能少地出錯。順便說一下domready事件:當頁面的html代碼(不包括圖片、flash等等,只是代碼)下載完成時,此時會觸發(fā)domready事件。這樣可以在頁面完全下載完成(包括圖片、flash等都下載完成)之前執(zhí)行你的腳本,從而避免因為一張大圖要下很長時間而導致腳本不能執(zhí)行,從而出現(xiàn)異常。)
你仍然可以在domready之外創(chuàng)建你的函數(shù),然后在domready中調(diào)用它:
在這第一講中,我們會仔細地看了一下這個庫架構的一些關鍵組件,然后粗略地看一下其他基本功能。
core(核心)
核心(core)部分包含mootools庫的一些公共函數(shù)(function)來完成一些常見的任務,也加強了許多原有功能(后面會有詳細介紹)。下面的內(nèi)容只是作為mootools功能的一些例子,并不能替代您閱讀mootools的文檔。
(fdream注:第一個描述有誤,$chk(value)只是檢查一個值是不是已經(jīng)定義或者已經(jīng)賦值,為0時會返回true,只有undefined或者null時返回false。)
native(本地對象)
在庫的這一部分也包含了一些公共工具,可以讓你很容易地操作數(shù)組(array,值或者對象的簡單列表)、函數(shù)(function)、數(shù)值(number)、字符串(string)、哈希對象(hash)和事件(event)。這里是本地對象中的一些工具特性:
class(類)
一個javascript類(相對于css的類),是一個功能可以重復使用的對象。若要更多地了解mootools類,你可以看看valerio的這篇簡單介紹的文章(mootools類——怎樣使用它們)。我也同時推薦david walsh的mootools類模板。
element(元素)
mootools庫的element類提供了一些非常有用的功能。通過這個類,你可以選擇dom元素、操控他們的屬性和位置、改變他們的css風格。這里是mootools提供的一些非常強大的處理dom元素的工具:
(fdream注:不推薦在一個頁面中有多個相同id,最好不要出現(xiàn),在一些瀏覽器下很容易出現(xiàn)不可預見的錯誤。)
utilities(實用工具)
實用工具(utilities)提供了更多精良的選擇邏輯,包括domready事件、可以管理ajax調(diào)用的工具、可以輕松管理cookie的工具,甚至還有”swiff“功能,可以提供javascript接口給actionscript。
fx(效果)
這可能是mootools最有趣的部分了。通過fx(效果),你可以創(chuàng)建”tween“(補間動畫)和”morph“(形變動畫)效果,從而讓你的dom對象動起來。
request(請求)
包含一些可以輕松處理javascript xmlhttprequest(ajax)功能的工具。為了減輕整個請求/響應(request/response)帶來的痛苦,request對象還有一些專門用來處理html和json對象(javascript對象表示法)的擴展。
plugins(插件)
mootools插件擴展了核心功能,可以輕松地為你的web項目添加高級ui功能。插件列表如下:
在開始下一講之前,花一點時間全面地看一下mootools的文檔。可能有些地方你看不太懂,不要管它,盡管通讀它,然后吸收那些你懂的。在接下來的29天中,我們將逐步深入這個庫特定的部分,然后把mootools分解成一些容易消化的小部分,但是首先,一定要好好看一下整個目錄。
一個壓縮包,包含了你開始起步所需要的所有東西
包括一個mootools 1.2核心庫、一個簡單的html文件、一個用來寫你的函數(shù)的外部的javascript文件、一個css樣式表文件。這個html文件已經(jīng)已經(jīng)寫了詳細的注釋,并包含有domready事件。
其他的mootools教程
同時,這里列出了一些其他幫助你開始的的mootools教程。
mootools 1.2 備忘錄
這里是一份很好的mootools 1.2功能的歸納表,我才給自己打印了一份,正在找地方把它給掛起來。也許我應該順便拜訪一下打印機,然后讓它們給我提供一張海報大小的:)。不管怎樣,這里是mootools 1.2備忘錄的鏈接。
mootools論壇
如果你想和其他人討論mootools,檢查代碼示例或者深入討論某個問題,你可以來這里。這才剛剛開張,但是正在逐漸熱起來:mootools 1.2論壇。
新聞熱點
疑難解答
圖片精選