Font Size7pt8pt9pt10pt12pt15pt18pt20pt25pt30ptPrototype 是一個開源的 javascript 開發架構,裡面封裝了大量可以加快開發速度的方法,例如使用$('div')代替getElementById("div"),封裝了xmlhttprequest等。許多語言的開發架構如 Ruby on Rails,symfony(PHP) 都整合 Prototype,更有很多如 script.aculo.us , Rico , Behaviour 這樣的衍生作品,大大擴充了protopype的功能了,很方便的實現自動完成,元素拖動,閃爍提示,圓角矩形提示框,文字漸隱等功能。使得頁面一下"動"了起來,大大提高了使用者的使用體驗。對於設計者來說,大大減少了在UI方面花的時間,以前為了實現一個效果需要長長的 script 代碼,而現在可能只需要一兩行了. 在 Prototype 中,主要有兩個方法來實行非同步資料轉送分別是 Ajax.Updater 和 Ajax.Request。[Copy to clipboard] CODE: function getContents() { var request_url = "test1.html"; // 需要擷取內容的url var request_pars = '';//請求參數 var myAjax = new Ajax.Updater('result', request_url,{ // 將request_url返回內容綁定到id為result的容器中 method : 'get', //HTTP請求的方法,get or post parameters : request_pars, //請求參數 onFailure : reportError, //失敗的時候調用 reportError 函數 onLoading : loading, //正在獲得內容的時候 onComplete : done //內容擷取完畢的時候 }); } function loading() { $('loading').style.display = 'block'; } function done() { $('loading').style.display = 'none'; } function reportError(request) { alert('Sorry. There was an error.'); } Ajax.Updater為我們提供載入文檔時候的三種狀態, onComplete,onLoading,onFailure.我們可以自訂一個函數分別相應這三種不同的狀態,這樣這點特性,我們就能做出像Gmail那樣很Cool的Loading提示了 |