国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

MooTools教程(1):認識MooTools

2024-07-21 02:04:22
字體:
供稿:網(wǎng)友

有人最近要求我們寫一個關于mootools 1.2的30天的教程,這似乎也是個很不錯的主意,于是我們決定現(xiàn)在就開始。在這些教程中,我們假設用戶沒有任何mootools或者是javascript經(jīng)驗,但是至少有基本的html和css知識。

mootools 1.2 javascript庫介紹

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

首先,下載并引用mootools 1.2核心庫。

  • 下載mootools 1.2核心庫
  • 把mootools 1.2核心庫上傳到你的服務器或者工作區(qū)
  • 在你的html文檔頭部head標記之內(nèi)鏈接mootools 1.2核心庫
參考代碼: [復制代碼] [保存代碼]
  1. <script src="mootools-1.2-core.js” type="text/javascript"></script>

(fdream注:現(xiàn)在mootools 1.2下載下來后,默認的后綴名是”.txt“,請更改后綴為”.js“。)

在head標簽之內(nèi)添加script標簽

現(xiàn)在,你已經(jīng)在你的頁面中應用了了mootools了,你還需要一個地方來寫你的代碼。這里有兩種選擇:

1. 把下面的代碼寫在你的head標簽之內(nèi),你的代碼寫在script標記之內(nèi):

參考代碼: [復制代碼] [保存代碼]
  1. <script type="text/javascript">
  2. //mootools code goes here
  3. </script>

2. 在外部建立一個javascript文件,然后在頁面頭部鏈接此文件:

參考代碼: [復制代碼] [保存代碼]
  1. <script src="myjavascriptfile.js" type="text/javascript"></script>

在這里,你可以使用任何一種方式。我通常把domready事件中調(diào)用的方法放在script標記之間,而我的函數(shù)放在外部文件中。

把代碼放在domready中

mootools的方法必須在domready事件中調(diào)用。

參考代碼: [復制代碼] [保存代碼]
  1. window.addevent('domready'function() {
  2.     examplefunction();
  3. });

(fdream注:不完全是這樣,但是可以保證你的javascript代碼盡可能少地出錯。順便說一下domready事件:當頁面的html代碼(不包括圖片、flash等等,只是代碼)下載完成時,此時會觸發(fā)domready事件。這樣可以在頁面完全下載完成(包括圖片、flash等都下載完成)之前執(zhí)行你的腳本,從而避免因為一張大圖要下很長時間而導致腳本不能執(zhí)行,從而出現(xiàn)異常。)

把代碼放在一個函數(shù)中

你仍然可以在domready之外創(chuàng)建你的函數(shù),然后在domready中調(diào)用它:

參考代碼: [復制代碼] [保存代碼]
  1. var examplefunction = function() {
  2.      alert('hello')
  3. };
  4.  
  5. window.addevent('domready'function() {
  6.     examplefunction();
  7. });

關于庫的詳細介紹

在這第一講中,我們會仔細地看了一下這個庫架構的一些關鍵組件,然后粗略地看一下其他基本功能。

core(核心)

核心(core)部分包含mootools庫的一些公共函數(shù)(function)來完成一些常見的任務,也加強了許多原有功能(后面會有詳細介紹)。下面的內(nèi)容只是作為mootools功能的一些例子,并不能替代您閱讀mootools的文檔

  • 檢查一個值(如果沒有值或者為0則返回false) - $chk(value);
  • 返回兩個值之間的一個隨機整數(shù) - $random(min, max);
  • 可以更容易地檢測瀏覽器、瀏覽器的引擎及瀏覽器的能力

(fdream注:第一個描述有誤,$chk(value)只是檢查一個值是不是已經(jīng)定義或者已經(jīng)賦值,為0時會返回true,只有undefined或者null時返回false。)

native(本地對象)

在庫的這一部分也包含了一些公共工具,可以讓你很容易地操作數(shù)組(array,值或者對象的簡單列表)、函數(shù)(function)、數(shù)值(number)、字符串(string)、哈希對象(hash)和事件(event)。這里是本地對象中的一些工具特性:

  • 對數(shù)組中的每個元素執(zhí)行一段腳本 - .each();
  • 得到數(shù)組中的最后一個元素 - .getlast();
  • 每個x毫秒觸發(fā)一個事件 - .periodical();
  • 對小數(shù)取整 - .round();
  • 把rgb轉(zhuǎn)換為十六進制(hex) - .rgbtohex();

class(類)

一個javascript類(相對于css的類),是一個功能可以重復使用的對象。若要更多地了解mootools類,你可以看看valerio的這篇簡單介紹的文章(mootools類——怎樣使用它們)。我也同時推薦david walsh的mootools類模板

element(元素)

mootools庫的element類提供了一些非常有用的功能。通過這個類,你可以選擇dom元素、操控他們的屬性和位置、改變他們的css風格。這里是mootools提供的一些非常強大的處理dom元素的工具:

  • 選擇所有有相同id或者css類名的dom元素 - .getelements();
  • 給一個元素添加一個css類 - .addclass();
  • 取得一個元素的屬性值 - .getproperty();
  • 改變一個元素的屬性值 - .setproperty();
  • 取得一個元素的樣式屬性值 - .getstyle();
  • 改變一個元素的樣式屬性值 - .setstyle();
  • 取得一個元素的坐標位置 - .getcoordinates();

(fdream注:不推薦在一個頁面中有多個相同id,最好不要出現(xiàn),在一些瀏覽器下很容易出現(xiàn)不可預見的錯誤。)

utilities(實用工具)

實用工具(utilities)提供了更多精良的選擇邏輯,包括domready事件、可以管理ajax調(diào)用的工具、可以輕松管理cookie的工具,甚至還有”swiff“功能,可以提供javascript接口給actionscript。

fx(效果)

這可能是mootools最有趣的部分了。通過fx(效果),你可以創(chuàng)建”tween“(補間動畫)和”morph“(形變動畫)效果,從而讓你的dom對象動起來。

  • 在兩個樣式屬性值之間創(chuàng)建一個動畫變形(比如讓一個div平緩地變大) - var myfx = new fx.tween(element);
  • 在多個不同的屬性值之間創(chuàng)建一個動畫變形(比如在讓一個div平緩變大的過程中,讓它的邊框越來越初,同時變換它的背景顏色) - var myfx = new fx.morph(element);

request(請求)

包含一些可以輕松處理javascript xmlhttprequest(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分解成一些容易消化的小部分,但是首先,一定要好好看一下整個目錄。

更多學習

一個壓縮包,包含了你開始起步所需要的所有東西

包括一個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論壇

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 三门峡市| 铅山县| 湘阴县| 民乐县| 呼和浩特市| 金华市| 肥西县| 栾城县| 兰考县| 江北区| 磐安县| 辽阳县| 翁牛特旗| 乐平市| 鄂伦春自治旗| 大港区| 综艺| 达尔| 永川市| 陈巴尔虎旗| 辉县市| 左云县| 西贡区| 汉沽区| 安宁市| 长乐市| 平昌县| 台北县| 库伦旗| 建宁县| 冀州市| 沿河| 柳林县| 新沂市| 达尔| 沭阳县| 新宁县| 霍城县| 瓦房店市| 正阳县| 巴彦县|