欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用jQuery簡化Ajax開發(fā)實(shí)現(xiàn)方法第2/2頁

 更新時(shí)間:2010年04月05日 23:39:03   作者:  
使用 jQuery 將使 Ajax 變得及其簡單。jQuery 提供有一些函數(shù),可以使簡單的工作變得更加簡單,復(fù)雜的工作變得不再復(fù)雜。

為 HTML 添加動(dòng)畫
可以使用 jQuery 處理基本的動(dòng)畫和顯示效果。animate() 函數(shù)是動(dòng)畫代碼的核心,它用于更改任何隨時(shí)間變化的數(shù)值型的 CSS 樣式值。比方說,您可以變化高度、寬度、不透明度和位置。還可以指定動(dòng)畫的速度,定為毫秒或者預(yù)定義的速度:慢速,中速或快速。
下面是一個(gè)同時(shí)變化某個(gè)元素高度和寬度的示例。請(qǐng)注意,這些參數(shù)沒有開始值,只有最終值。開始值取自元素的當(dāng)前尺寸。同時(shí)我也附加了一個(gè)回調(diào)函數(shù)。
復(fù)制代碼 代碼如下:

$('#grow').animate({ height: 500, width: 500 }, "slow", function(){
alert('The element is done growing!');
});

jQuery 的內(nèi)置函數(shù)使更多常見的動(dòng)畫更容易完成。可以使用 show() 和 hide() 元素,立即顯示或者以特定的速度顯示。還可以通過使用 fadeIn() 和 fadeOut(),或者 slideDown() 和 slideUp() 顯示和隱藏元素,這取決于您所需要的顯示效果。下面的示例定義了一個(gè)下滑的導(dǎo)航菜單。
復(fù)制代碼 代碼如下:

$('#nav').slideDown('slow');

DOM 腳本和事件處理
或許 jQuery 最擅長的就是簡化 DOM 腳本和事件處理。遍歷和處理 DOM 非常簡單,同時(shí)附加、移除和調(diào)用事件也十分容易,且不像手動(dòng)操作那樣容易出錯(cuò)。
從本質(zhì)上說,jQuery 可以使 DOM 腳本中的常用操作變得更加容易。您可以創(chuàng)建元素并且使用 append() 函數(shù)把它們與其它的一些元素鏈接到一起,使用 clone() 復(fù)制元素,使用 html() 設(shè)置內(nèi)容,使用 empty() 函數(shù)刪除內(nèi)容,使用 remove() 函數(shù)刪除所有的元素,即便是使用 wrap() 函數(shù),用其他元素將這些元素包裝起來。
通過遍歷 DOM,一些函數(shù)可以用于更改 jQuery 對(duì)象本身的內(nèi)容??梢垣@得元素所有的 siblings()、parents() 和 children()。還可以選擇 next() 和 prev() 兄弟元素。find() 函數(shù)或許是功能最強(qiáng)大的函數(shù),它允許使用 jQuery 選擇器搜索 jQuery 對(duì)象中元素的后代元素。
如果結(jié)合使用 end() 函數(shù),那么這些函數(shù)將變得更加強(qiáng)大。這個(gè)函數(shù)的功能類似于 undo 函數(shù),用于返回到調(diào)用 find() 或 parents() 函數(shù)(或者其它遍歷函數(shù))之前的 jQuery 對(duì)象。
如果配合方法鏈接(method chaining)一起使用,這些函數(shù)可以使復(fù)雜的操作看上去非常簡單。清單 7 顯示了一個(gè)示例,其中包含有一個(gè)登錄表單并處理了一些與之有關(guān)的元素。
清單 7. 輕松地遍歷和處理 DOM
復(fù)制代碼 代碼如下:

$('form#login')
// hide all the labels inside the form with the 'optional' class
.find('label.optional').hide().end()
// add a red border to any password fields in the form
.find('input:password').css('border', '1px solid red').end()
// add a submit handler to the form
.submit(function(){
return confirm('Are you sure you want to submit?');
});

不管您是否相信,這個(gè)示例只是一行滿是空白的被鏈接的代碼。首先,選擇登錄表單。然后,發(fā)現(xiàn)其中含有可選標(biāo)簽,隱藏它們,并調(diào)用 end() 返回表單。然后,我創(chuàng)建了密碼字段,將其邊界變?yōu)榧t色,再次調(diào)用 end() 返回表單。最后,我在表單中添加了一個(gè)提交事件處理程序。其中尤為有趣的就是(除了其簡潔性以外),jQuery 完全優(yōu)化了所有的查詢操作,確保將所有內(nèi)容很好地鏈接在一起后,不需要對(duì)一個(gè)元素執(zhí)行兩次查詢。
處理常見事件就像調(diào)用函數(shù)(比方說 click()、submit() 或 mouseover())和為其傳遞事件處理函數(shù)一樣簡單。此外,還可以使用 bind('eventname', function(){}) 指定自定義的事件處理程序??梢允褂?unbind('eventname') 刪除某些事件或者使用 unbind() 刪除所有的事件。有關(guān)這些函數(shù)的使用方法的完整列表,請(qǐng)參閱 參考資料 中的 jQuery 應(yīng)用程序編程接口(Application Program Interface,API)文檔。
釋放 jQuery 選擇器的強(qiáng)大能量
我們經(jīng)常會(huì)使用 ID 來選擇元素,比如 #myid,或者通過類名,比如 div.myclass 來選擇元素。然而,jQuery 提供了更為復(fù)雜和完整的選擇器語法,允許我們?cè)趩蝹€(gè)選擇器中選擇幾乎所有的元素組合。
jQuery 的選擇器語法主要是基于 CSS3 和 XPath 的。對(duì) CSS3 和 XPath 了解的越多,使用 jQuery 時(shí)就越加得心應(yīng)手。有關(guān) jQuery 選擇器的完整列表,包括 CSS 和 XPath,請(qǐng)參閱 參考資料 中的鏈接。
CSS3 包含一些并不是所有瀏覽器都支持的語法,因此我們很少使用它。然而,我們?nèi)匀豢梢栽?jQuery 中使用 CSS3 選擇元素,因?yàn)?jQuery 具備自己的自定義選擇器引擎。比方說,要在表格中的每一個(gè)空列中都添加一個(gè)橫杠,可以使用::empty 偽選擇器(pseudo-selector):
復(fù)制代碼 代碼如下:

$('td:empty').html('-');

如果需要找出所有不含特定類的元素呢? CSS3 同樣提供了一個(gè)語法可以完成這個(gè)目的,使用 :not 偽選擇器: 如下代碼顯示了如何隱藏所有不含 required 類的輸入內(nèi)容:
復(fù)制代碼 代碼如下:

$('input:not(.required)').hide();

與在 CSS 中一樣,可以使用逗號(hào)將多個(gè)選擇器連接成一個(gè)。下面是一個(gè)同時(shí)隱藏頁面上所有類型列表的簡單示例:
復(fù)制代碼 代碼如下:

$('ul, ol, dl').hide();

XPath 是一種功能強(qiáng)大的語法,用于在文檔中搜尋元素。它與 CSS 稍有區(qū)別,不過它能實(shí)現(xiàn)的功能略多于 CSS。要在所有復(fù)選框的父元素中添加一個(gè)邊框,可以使用 XPath 的 /.. 語法:
復(fù)制代碼 代碼如下:

$("input:checkbox/..").css('border', '1px solid #777');

jQuery 中也加入了一些 CSS 和 XPath 中沒有的選擇器。比方說,要使一個(gè)表更具可讀性,通常可以在表格的奇數(shù)行或偶數(shù)行中附加一個(gè)不同的類名 —— 也可以稱作把表分段(striping)。使用 jQuery 不費(fèi)吹灰之力就可以做到這點(diǎn),這需要?dú)w功于 odd 偽選擇器。下面這個(gè)例子使用 striped 類改變了表格中所有奇數(shù)行的背景顏色:
復(fù)制代碼 代碼如下:

$('table.striped > tr:odd').css('background', '#999999');

我們可以看到強(qiáng)大的 jQuery 選擇器是如何簡化代碼的。不論您想處理什么樣的元素,不管這個(gè)元素是具體的還是模糊的,都有可能找到一種方法使用一個(gè) jQuery選擇器對(duì)它們進(jìn)行定義。

使用插件擴(kuò)展 jQuery
與大多數(shù)軟件不同,使用一個(gè)復(fù)雜的 API 為 jQuery 編寫插件并不是非常困難。事實(shí)上,jQuery 插件非常易于編寫,您甚至希望編寫一些插件來使代碼更加簡單。下面是可以編寫的最基本的 jQuery 插件:
復(fù)制代碼 代碼如下:

$.fn.donothing = function(){
return this;
};

雖然非常簡單,但是還是需要對(duì)這個(gè)插件進(jìn)行一些解釋。首先,如果要為每一個(gè) jQuery 對(duì)象添加一個(gè)函數(shù),必須把該函數(shù)指派給 $.fn。第二,這個(gè)函數(shù)必須要返回一個(gè) this(jQuery 對(duì)象),這樣才不至于打斷 方法鏈接(method chaining)。
可以輕松地在這個(gè)示例之上構(gòu)建。要編寫一個(gè)更換背景顏色的插件,以替代使用 css('background'),可以使用下面的代碼:
復(fù)制代碼 代碼如下:

$.fn.background = function(bg){
return this.css('background', bg);
};

清注意,可以只從 css() 返回值,因?yàn)橐呀?jīng)返回了 jQuery 對(duì)象。因此,方法鏈接(method chaining)仍然運(yùn)作良好。
我建議在需要重復(fù)工作的時(shí)候使用 jQuery 插件。比方說,如果您需要使用 each() 函數(shù)反復(fù)執(zhí)行相同的操作,那么可以使用一個(gè)插件來完成。
由于 jQuery 插件相當(dāng)易于編寫,所以有上百種可供你選擇使用。jQuery 提供的插件可用于制表、圓角、滑動(dòng)顯示、工具提示、日期選擇器,以及我們可以想到的一切效果。有關(guān)插件的完整列表,請(qǐng)參閱 參考資料。
最為復(fù)雜、使用最為廣泛的插件要屬界面(Interface),它是一種動(dòng)畫插件,用于處理排序、拖放功能、復(fù)雜效果、以及其它有趣和復(fù)雜的用戶界面(User Interface,UI)。界面對(duì)于 jQuery 來說就如 Scriptaculous 對(duì)于 Prototype 一樣。
表單插件也同樣流行且非常有用,通過它可以使用 Ajax 在后臺(tái)中輕松地提交表單。這個(gè)插件用于處理一些常見的情況:您需要截獲某個(gè)表單的提交事件,找出所有不同的輸入字段,并使用這些字段構(gòu)造一個(gè) Ajax 調(diào)用。

相關(guān)文章

  • jQuery實(shí)現(xiàn)基本動(dòng)畫效果的方法詳解

    jQuery實(shí)現(xiàn)基本動(dòng)畫效果的方法詳解

    這篇文章主要介紹了jQuery實(shí)現(xiàn)基本動(dòng)畫效果的方法,結(jié)合實(shí)例形式分析了jQuery animate()方法實(shí)現(xiàn)動(dòng)畫效果相關(guān)操作技巧,需要的朋友可以參考下
    2018-09-09
  • JQuery中使用.each()遍歷元素學(xué)習(xí)筆記

    JQuery中使用.each()遍歷元素學(xué)習(xí)筆記

    這篇文章主要介紹了jquery中使用.each()遍歷元素學(xué)習(xí)筆記,本文從實(shí)際項(xiàng)目經(jīng)驗(yàn)總結(jié)而來,需要的朋友可以參考下
    2014-11-11
  • JQuery遍歷DOM節(jié)點(diǎn)的方法

    JQuery遍歷DOM節(jié)點(diǎn)的方法

    這篇文章主要介紹了JQuery遍歷DOM節(jié)點(diǎn)的方法,實(shí)例分析了jQuery遍歷DOM節(jié)點(diǎn)的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Jquery 學(xué)習(xí)筆記(一)

    Jquery 學(xué)習(xí)筆記(一)

    從今天起正式學(xué)習(xí)Jquery(實(shí)際嚴(yán)格講已經(jīng)用了幾個(gè)月的Jquery的一丁點(diǎn)東西),邊學(xué)邊做邊記筆記;閱讀書籍《鋒利的Jquery》+Jquery API Doc。
    2009-10-10
  • [jQuery] 事件和動(dòng)畫詳解

    [jQuery] 事件和動(dòng)畫詳解

    這篇文章主要介紹了JQ事件和動(dòng)畫,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • jquery實(shí)現(xiàn)鼠標(biāo)滑過小圖查看大圖的方法

    jquery實(shí)現(xiàn)鼠標(biāo)滑過小圖查看大圖的方法

    這篇文章主要介紹了jquery實(shí)現(xiàn)鼠標(biāo)滑過小圖查看大圖的方法,涉及jquery鼠標(biāo)事件及圖片樣式動(dòng)態(tài)操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 使用jquery清空、復(fù)位整個(gè)輸入域

    使用jquery清空、復(fù)位整個(gè)輸入域

    這篇文章主要介紹了使用jquery清空、復(fù)位整個(gè)輸入域,非常的簡單實(shí)用,這里推薦給大家,需要的朋友可以參考下
    2015-04-04
  • JQuery中this的指向詳解

    JQuery中this的指向詳解

    本文詳細(xì)講解了JQuery中this的指向,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Jquery彈出層插件ThickBox的使用方法

    Jquery彈出層插件ThickBox的使用方法

    這篇文章主要介紹了Jquery彈出層插件ThickBox的使用方法,需要的朋友可以參考下
    2014-12-12
  • 深入分析jQuery的ready函數(shù)是如何工作的(工作原理)

    深入分析jQuery的ready函數(shù)是如何工作的(工作原理)

    這篇文章主要介紹了jQuery的ready函數(shù)是如何工作的,深入分析了jQueryready函數(shù)的運(yùn)作流程及相應(yīng)的工作原理,需要的朋友可以參考下
    2015-12-12

最新評(píng)論