基礎

jQuery 安裝

把 jQuery 添加到您的網頁

如需使用 jQuery,您需要下載 jQuery 庫(會在下面為您講解),然后把它包含在希望使用的網頁中。


jQuery 庫是一個 JavaScript 文件,您可以使用 HTML 的 標簽引用它:

請注意, 標簽應該位于頁面的 部分。

下載 jQuery

有兩個版本的 jQuery 可供下載:

Production version - 用于實際的網站中,已被精簡和壓縮。

Development version - 用于測試和開發(未壓縮,是可讀的代碼)

這兩個版本都可以從jQuery.com下載。

提示:您可以把下載文件放到與頁面相同的目錄中,這樣更方便使用。

替代方案

如果您不希望下載并存放 jQuery,那么也可以通過 CDN(內容分發網絡) 引用它。

谷歌和微軟的服務器都存有 jQuery 。

如需從谷歌或微軟引用 jQuery,請使用以下代碼之一:

Google CDN:

親自試一試

提示:通過 Google CDN 來獲得最新可用的版本:

如果您觀察上什么的 Google URL - 在 URL 中規定了 jQuery 版本 (1.8.0)。如果您希望使用最新版本的 jQuery,也可以從版本字符串的末尾(比如本例 1.8)刪除一個數字,谷歌會返回 1.8 系列中最新的可用版本(1.8.0、1.8.1 等等),或者也可以只剩第一個數字,那么谷歌會返回 1 系列中最新的可用版本(從 1.1.0 到 1.9.9)。

Microsoft CDN:

親自試一試

提示:使用谷歌或微軟的 jQuery,有一個很大的優勢:

許多用戶在訪問其他站點時,已經從谷歌或微軟加載過 jQuery。所有結果是,當他們訪問您的站點時,會從緩存中加載 jQuery,這樣可以減少加載時間。同時,大多數 CDN 都可以確保當用戶向其請求文件時,會從離用戶最近的服務器上返回響應,這樣也可以提高加載速度。

jQuery 語法

jQuery 語法實例

$(this).hide()

演示 jQuery hide() 函數,隱藏當前的 HTML 元素。

$("#test").hide()

演示 jQuery hide() 函數,隱藏 id="test" 的元素。

$("p").hide()

演示 jQuery hide() 函數,隱藏所有 < p> 元素。

$(".test").hide()

演示 jQuery hide() 函數,隱藏所有 class="test" 的元素。

jQuery 語法

jQuery 語法是為 HTML 元素的選取編制的,可以對元素執行某些操作。

基礎語法是:$(selector).action()

美元符號定義 jQuery

選擇符(selector)“查詢”和“查找” HTML 元素

jQuery 的 action() 執行對元素的操作

示例

$(this).hide() - 隱藏當前元素

$("p").hide() - 隱藏所有段落

$(".test").hide() - 隱藏所有 class="test" 的所有元素

$("#test").hide() - 隱藏所有 id="test" 的元素

提示:jQuery 使用的語法是 XPath 與 CSS 選擇器語法的組合。

文檔就緒函數

在實例中的所有 jQuery 函數位于一個 document ready 函數中:

$(document).ready(function(){--- jQuery functions go here ----});

這是為了防止文檔在完全加載(就緒)之前運行 jQuery 代碼。

如果在文檔沒有完全加載之前就運行函數,操作可能失敗。下面是兩個具體的例子:

試圖隱藏一個不存在的元素

獲得未完全加載的圖像的大小

jQuery 選擇器

在 HTML DOM 術語中:

選擇器允許您對 DOM 元素組或單個 DOM 節點進行操作。

jQuery 元素選擇器

jQuery 使用 CSS 選擇器來選取 HTML 元素。

$("p") 選取 < p> 元素。

$("p.intro") 選取所有 class="intro" 的 < p> 元素。

$("p#demo") 選取所有 id="demo" 的 < p> 元素。

jQuery 屬性選擇器

jQuery 使用 XPath 表達式來選擇帶有給定屬性的元素。

$("[href]") 選取所有帶有 href 屬性的元素。

$("[href='#']") 選取所有帶有 href 值等于 "#" 的元素。

$("[href!='#']") 選取所有帶有 href 值不等于 "#" 的元素。

$("[href$='.jpg']") 選取所有 href 值以 ".jpg" 結尾的元素。

jQuery CSS 選擇器

jQuery CSS 選擇器可用于改變 HTML 元素的 CSS 屬性。

下面的例子把所有 p 元素的背景顏色更改為紅色:

實例

$("p").css("background-color","red");

親自試一試

更多的選擇器實例

Paste_Image.png

jQuery 選擇器參考手冊

jQuery 事件

jQuery 是為事件處理特別設計的。

jQuery 事件函數

jQuery 事件處理方法是 jQuery 中的核心函數。

事件處理程序指的是當 HTML 中發生某些事件時所調用的方法。術語由事件“觸發”(或“激發”)經常會被使用。

通常會把 jQuery 代碼放到 部分的事件處理方法中:

實例

$(document).ready(function(){

$("button").click(function(){

$("p").hide();

});

});

This is a heading

This is a paragraph.

This is another paragraph.

Click me

親自試一試

在上面的例子中,當按鈕的點擊事件被觸發時會調用一個函數:

$("button").click(function() {..some code... } )

該方法隱藏所有 <? p> 元素:

$("p").hide();

單獨文件中的函數

如果您的網站包含許多頁面,并且您希望您的 jQuery 函數易于維護,那么請把您的 jQuery 函數放到獨立的 .js 文件中。

當我們在教程中演示 jQuery 時,會將函數直接添加到 部分中。不過,把它們放到一個單獨的文件中會更好,就像這樣(通過 src 屬性來引用文件):

實例

jQuery 名稱沖突

jQuery 使用 $ 符號作為 jQuery 的簡介方式。

某些其他 JavaScript 庫中的函數(比如 Prototype)同樣使用 $ 符號。

jQuery 使用名為 noConflict() 的方法來解決該問題。

var jq=jQuery.noConflict(),幫助您使用自己的名稱(比如 jq)來代替 $ 符號。

親自試一試

結論

由于 jQuery 是為處理 HTML 事件而特別設計的,那么當您遵循以下原則時,您的代碼會更恰當且更易維護:

把所有 jQuery 代碼置于事件處理函數中

把所有事件處理函數置于文檔就緒事件處理器中

把 jQuery 代碼置于單獨的 .js 文件中

如果存在名稱沖突,則重命名 jQuery 庫

jQuery 事件

下面是 jQuery 中事件方法的一些例子:

Paste_Image.png

jQuery 事件參考手冊

jQuery 隱藏/顯示

隱藏、顯示、切換,滑動,淡入淡出,以及動畫,哇哦!

實例

jQuery hide()

演示一個簡單的 jQuery hide() 方法。

jQuery hide()

另一個 hide() 演示。如何隱藏部分文本。

jQuery hide() 和 show()

通過 jQuery,您可以使用 hide() 和 show() 方法來隱藏和顯示 HTML 元素:

$("#hide").click(function(){

$("p").hide();

});

$("#show").click(function(){

$("p").show();

});

親自試一試

語法:

$(selector).hide(speed,callback);

$(selector).show(speed,callback);

可選的 speed 參數規定隱藏/顯示的速度,可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是隱藏或顯示完成后所執行的函數名稱。

下面的例子演示了帶有 speed 參數的 hide() 方法:

實例

$("button").click(function(){

$("p").hide(1000);

});

親自試一試

jQuery toggle()

通過 jQuery,您可以使用 toggle() 方法來切換 hide() 和 show() 方法。

顯示被隱藏的元素,并隱藏已顯示的元素:

實例

$("button").click(function(){

$("p").toggle();

});

親自試一試

語法:

$(selector).toggle(speed,callback);

可選的 speed 參數規定隱藏/顯示的速度,可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是 toggle() 方法完成后所執行的函數名稱。

jQuery 效果參考手冊

jQuery 淡入淡出

實例

jQuery fadeIn()

演示 jQuery fadeIn() 方法。

jQuery fadeOut()

演示 jQuery fadeOut() 方法。

jQuery fadeToggle()

演示 jQuery fadeToggle() 方法。

jQuery fadeTo()

演示 jQuery fadeTo() 方法。

jQuery Fading 方法

通過 jQuery,您可以實現元素的淡入淡出效果。

jQuery 擁有下面四種 fade 方法:

fadeIn()

fadeOut()

fadeToggle()

fadeTo()

jQuery fadeIn() 方法

jQuery fadeIn() 用于淡入已隱藏的元素。

語法:

$(selector).fadeIn(speed,callback);

可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是 fading 完成后所執行的函數名稱。

下面的例子演示了帶有不同參數的 fadeIn() 方法:

實例

$("button").click(function(){

$("#div1").fadeIn();

$("#div2").fadeIn("slow")

$("#div3").fadeIn(3000);

});

親自試一試

jQuery fadeOut() 方法

jQuery fadeOut() 方法用于淡出可見元素。

語法:

$(selector).fadeOut(speed,callback);

可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是 fading 完成后所執行的函數名稱。

下面的例子演示了帶有不同參數的 fadeOut() 方法:

實例

$("button").click(function(){

$("#div1").fadeOut();

$("#div2").fadeOut("slow");

$("#div3").fadeOut(3000);

});

親自試一試

jQuery fadeToggle() 方法

jQuery fadeToggle() 方法可以在 fadeIn() 與 fadeOut() 方法之間進行切換。

如果元素已淡出,則 fadeToggle() 會向元素添加淡入效果。

如果元素已淡入,則 fadeToggle() 會向元素添加淡出效果。

語法:

$(selector).fadeToggle(speed,callback);

可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是 fading 完成后所執行的函數名稱。

下面的例子演示了帶有不同參數的 fadeToggle() 方法:

實例

$("button").click(function(){

$("#div1").fadeToggle();

$("#div2").fadeToggle("slow");

$("#div3").fadeToggle(3000);

});

親自試一試

jQuery fadeTo() 方法

jQuery fadeTo() 方法允許漸變為給定的不透明度(值介于 0 與 1 之間)。

語法:

$(selector).fadeTo(speed,opacity,callback);

必需的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

fadeTo() 方法中必需的 opacity 參數將淡入淡出效果設置為給定的不透明度(值介于 0 與 1 之間)。

可選的 callback 參數是該函數完成后所執行的函數名稱。

下面的例子演示了帶有不同參數的 fadeTo() 方法:

實例

$("button").click(function(){

$("#div1").fadeTo("slow",0.15);

$("#div2").fadeTo("slow",0.4);

$("#div3").fadeTo("slow",0.7);

});

親自試一試

jQuery 效果參考手冊

jQuery 滑動

jQuery 滑動方法可使元素上下滑動。

實例

jQuery slideDown()

演示 jQuery slideDown() 方法。

jQuery slideUp()

演示 jQuery slideUp() 方法。

jQuery slideToggle()

演示 jQuery slideToggle() 方法。

jQuery 滑動方法

通過 jQuery,您可以在元素上創建滑動效果。

jQuery 擁有以下滑動方法:

slideDown()

slideUp()

slideToggle()

jQuery slideDown() 方法

jQuery slideDown() 方法用于向下滑動元素。

語法:

$(selector).slideDown(speed,callback);

可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是滑動完成后所執行的函數名稱。

下面的例子演示了 slideDown() 方法:

實例

$("#flip").click(function(){

$("#panel").slideDown();

});

親自試一試

jQuery slideUp() 方法

jQuery slideUp() 方法用于向上滑動元素。

語法:

$(selector).slideUp(speed,callback);

可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是滑動完成后所執行的函數名稱。

下面的例子演示了 slideUp() 方法:

實例

$("#flip").click(function(){

$("#panel").slideUp();

});

親自試一試

jQuery slideToggle() 方法

jQuery slideToggle() 方法可以在 slideDown() 與 slideUp() 方法之間進行切換。

如果元素向下滑動,則 slideToggle() 可向上滑動它們。

如果元素向上滑動,則 slideToggle() 可向下滑動它們。

$(selector).slideToggle(speed,callback);

可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是滑動完成后所執行的函數名稱。

下面的例子演示了 slideToggle() 方法:

實例

$("#flip").click(function(){

$("#panel").slideToggle();

});

親自試一試

jQuery 效果參考手冊

jQuery 動畫

jQuery animate() 方法允許您創建自定義的動畫。

jQuery 動畫 - animate() 方法

jQuery animate() 方法用于創建自定義動畫。

語法:

$(selector).animate({params},speed,callback);

必需的 params 參數定義形成動畫的 CSS 屬性。

可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。

可選的 callback 參數是動畫完成后所執行的函數名稱。

下面的例子演示 animate() 方法的簡單應用;它把

元素移動到左邊,直到 left 屬性等于 250 像素為止:

實例

$("button").click(function(){

$("div").animate({left:'250px'});

});

親自試一試

提示:默認地,所有 HTML 元素都有一個靜態位置,且無法移動。

如需對位置進行操作,要記得首先把元素的

CSS position 屬性設置為relative、fixed 或 absolute!

jQuery animate() - 操作多個屬性

請注意,生成動畫的過程中可同時使用多個屬性:

實例

$("button").click(function(){

$("div").animate({ left:'250px', opacity:'0.5', height:'150px', width:'150px' });

});

親自試一試

提示:可以用 animate() 方法來操作所有 CSS 屬性嗎?

是的,幾乎可以!不過,需要記住一件重要的事情:當使用 animate() 時,必須使用 Camel 標記法書寫所有的屬性名,比如,必須使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。

同時,色彩動畫并不包含在核心 jQuery 庫中。

如果需要生成顏色動畫,您需要從 jQuery.com 下載 Color Animations 插件。

jQuery animate() - 使用相對值

也可以定義相對值(該值相對于元素的當前值)。需要在值的前面加上 += 或 -=:

實例

$("button").click(function(){

$("div").animate({ left:'250px', height:'+=150px', width:'+=150px' });

});

親自試一試

jQuery animate() - 使用預定義的值

您甚至可以把屬性的動畫值設置為 "show"、"hide" 或 "toggle":

實例

$("button").click(function(){

$("div").animate({ height:'toggle' });

});

親自試一試

jQuery animate() - 使用隊列功能

默認地,jQuery 提供針對動畫的隊列功能。

這意味著如果您在彼此之后編寫多個 animate() 調用,jQuery 會創建包含這些方法調用的“內部”隊列。然后逐一運行這些 animate 調用。

實例 1

隱藏,如果您希望在彼此之后執行不同的動畫,那么我們要利用隊列功能:

$("button").click(function(){

var div=$("div");

div.animate({height:'300px',opacity:'0.4'},"slow");

div.animate({width:'300px',opacity:'0.8'},"slow");

div.animate({height:'100px',opacity:'0.4'},"slow");

div.animate({width:'100px',opacity:'0.8'},"slow");

});

親自試一試

實例 2

下面的例子把

元素移動到右邊,然后增加文本的字號:

$("button").click(function(){

var div=$("div");

div.animate({left:'100px'},"slow");

div.animate({fontSize:'3em'},"slow");

});

親自試一試

jQuery 停止動畫

jQuery stop() 方法用于在動畫或效果完成前對它們進行停止。

實例

jQuery stop() 滑動

演示 jQuery stop() 方法。

jQuery stop() 動畫(帶有參數)

演示 jQuery stop() 方法。

jQuery stop() 方法

jQuery stop() 方法用于停止動畫或效果,在它們完成之前。

stop() 方法適用于所有 jQuery 效果函數,包括滑動、淡入淡出和自定義動畫。

語法

$(selector).stop(stopAll,goToEnd);

可選的 stopAll 參數規定是否應該清除動畫隊列。默認是 false,即僅停止活動的動畫,允許任何排入隊列的動畫向后執行。

可選的 goToEnd 參數規定是否立即完成當前動畫。默認是 false。

因此,默認地,stop() 會清除在被選元素上指定的當前動畫。

下面的例子演示 stop() 方法,不帶參數:

實例

$("#stop").click(function(){

$("#panel").stop();

});

親自試一試

jQuery 效果參考手冊

jQuery 函數

Callback 函數在當前動畫 100% 完成之后執行。

jQuery 動畫的問題

許多 jQuery 函數涉及動畫。這些函數也許會將speedduration作為可選參數。

例子:$("p").hide("slow")

speedduration參數可以設置許多不同的值,比如 "slow", "fast", "normal" 或毫秒。

實例

$("button").click(function(){

$("p").hide(1000);

});

親自試一試

由于 JavaScript 語句(指令)是逐一執行的 - 按照次序,動畫之后的語句可能會產生錯誤或頁面沖突,因為動畫還沒有完成。

為了避免這個情況,您可以以參數的形式添加 Callback 函數。

jQuery Callback 函數

當動畫 100% 完成后,即調用 Callback 函數。

典型的語法:

$(selector).hide(speed,callback)

callback參數是一個在 hide 操作完成后被執行的函數。

錯誤(沒有 callback)

$("p").hide(1000);

alert("The paragraph is now hidden");

親自試一試

正確(有 callback)

$("p").hide(1000,function(){

alert("The paragraph is now hidden");

});

親自試一試

結論:如果您希望在一個涉及動畫的函數之后來執行語句,請使用 callback 函數。

jQuery Chaining

通過 jQuery,您可以把動作/方法鏈接起來。

Chaining 允許我們在一條語句中允許多個 jQuery 方法(在相同的元素上)。

jQuery 方法鏈接

直到現在,我們都是一次寫一條 jQuery 語句(一條接著另一條)。

不過,有一種名為鏈接(chaining)的技術,允許我們在相同的元素上運行多條 jQuery 命令,一條接著另一條。

提示:這樣的話,瀏覽器就不必多次查找相同的元素。

如需鏈接一個動作,您只需簡單地把該動作追加到之前的動作上。

例子 1

下面的例子把 css(), slideUp(), and slideDown() 鏈接在一起。"p1" 元素首先會變為紅色,然后向上滑動,然后向下滑動:

$("#p1").css("color","red").slideUp(2000).slideDown(2000);

親自試一試

如果需要,我們也可以添加多個方法調用。

提示:當進行鏈接時,代碼行會變得很差。不過,jQuery 在語法上不是很嚴格;您可以按照希望的格式來寫,包含折行和縮進。

例子 2

這樣寫也可以運行:

$("#p1").css("color","red") .slideUp(2000) .slideDown(2000);

親自試一試

jQuery 會拋掉多余的空格,并按照一行長代碼來執行上面的代碼行。

作者:hx永恒之戀

鏈接:http://www.lxweimin.com/p/e18c430973b2

來源:簡書

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,428評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,024評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,285評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,548評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,328評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,878評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,971評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,098評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,616評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,554評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,725評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,243評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,971評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,361評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,613評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,339評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,695評論 2 370

推薦閱讀更多精彩內容

  • 通過jQuery,您可以選取(查詢,query)HTML元素,并對它們執行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 668評論 0 3
  • (續jQuery基礎(2)) 四、動畫篇 第1章 動畫基礎隱藏和顯示 (1)隱藏元素的hide方法 讓頁面上的元素...
    凜0_0閱讀 462評論 0 6
  • 警告請使用 document.write() 僅僅向文檔輸出寫內容。如果在文檔已完成加載后執行 document....
    鹿守心畔光閱讀 2,858評論 3 104
  • 第1章 動畫基礎隱藏和顯示 1-1 jQuery中隱藏元素的hide方法 讓頁面上的元素不可見,一般可以通過設置c...
    mo默22閱讀 768評論 0 8
  • 廣場上,一個七八歲的小男孩在學騎自行車,雖然,小男孩已經在極力控制自行車的運行軌跡,卻依然是不可避免地歪歪扭扭。 ...
    內觀姐姐閱讀 970評論 6 10