用法
.toggle( [duration ] [, complete ] ) => jQuery
.toggle( [duration ] [, complete ] ) => jQuery
說明:顯示或隱藏匹配的元素。
-
添加的版本:1.0
.toggle( [duration ] [, complete ] )
-
duration(默認:
400
)確定動畫將運行多長時間的字符串或數字。 -
complete類型:Function ()動畫完成後調用的函數,每個匹配元素調用一次。
-
-
添加的版本:1.0
.toggle( options )
-
options類型:PlainObject要傳遞給方法的附加選項的映射。
-
duration(默認:
400
)確定動畫將運行多長時間的字符串或數字。 -
easing(默認:
swing
)類型:String一個字符串,指示用於轉換的緩動函數。 -
queue(默認:
true
)一個布爾值,指示是否將動畫放置在效果隊列中。如果為 false,動畫將立即開始。As of jQuery 1.7, queue 選項也可以接受一個字符串,在這種情況下,動畫被添加到該字符串表示的隊列中。當使用自定義隊列名稱時,動畫不會自動啟動;你必須調用.dequeue("queuename")
開始它。 -
specialEasing類型:PlainObject一個對象,包含一個或多個由 properties 參數定義的 CSS 屬性及其相應的緩動函數。(添加的版本:1.4)
-
step為每個動畫元素的每個動畫屬性調用的函數。此函數提供了修改 Tween 對象以在設置之前更改屬性值的機會。
-
progress在動畫的每個步驟之後要調用的函數,每個動畫元素僅調用一次,而與動畫屬性的數量無關。(添加的版本:1.8)
-
complete類型:Function ()元素上的動畫完成後調用的函數。
-
start當元素上的動畫開始時調用的函數。(添加的版本:1.8)
-
done當元素上的動畫完成(其 Promise 對象已解析)時要調用的函數。(添加的版本:1.8)
-
fail當元素上的動畫未能完成時調用的函數(其 Promise 對象被拒絕)。(添加的版本:1.8)
-
always當元素上的動畫完成或停止但未完成時調用的函數(其 Promise 對象被解析或拒絕)。(添加的版本:1.8)
-
-
-
添加的版本:1.4.3
.toggle( duration [, easing ] [, complete ] )
-
添加的版本:1.3
.toggle( display )
-
display類型:Boolean使用
true
顯示元素或使用false
隱藏它。
-
注意:事件處理套件還有一個名為 .toggle() 的方法。哪個被觸發取決於傳遞的參數集。
在沒有參數的情況下,.toggle()
方法隻是簡單地切換元素的可見性:
|
通過更改 CSS display
屬性,匹配的元素將立即顯示或隱藏,沒有動畫。如果元素最初被顯示,它將被隱藏;如果隱藏,它將顯示。 display
屬性會根據需要保存和恢複。如果一個元素的 display
值為 inline
,則被隱藏並顯示,它將再次顯示為 inline
。
當提供持續時間、普通對象或single
"complete" 函數時,.toggle()
成為動畫方法。 .toggle()
方法同時為匹配元素的寬度、高度和不透明度設置動畫。當這些屬性在隱藏動畫後達到 0 時,將 display
樣式屬性設置為 none
以確保元素不再影響頁麵的布局。
持續時間以毫秒為單位;較高的值表示較慢的動畫,而不是較快的動畫。可以提供字符串'fast'
和'slow'
來分別表示200
和600
毫秒的持續時間。
從 jQuery 1.4.3 開始,可以使用命名緩動函數的可選字符串。緩動函數指定動畫在動畫中不同點的進展速度。 jQuery 庫中唯一的緩動實現是默認實現,稱為 swing
,以及以恒定速度進行的實現,稱為 linear
。使用 plug-ins 可以使用更多的緩動函數,尤其是 jQuery UI suite 。
如果提供,則在動畫完成後觸發回調。這對於將不同的動畫按順序串在一起很有用。回調未發送任何參數,但 this
設置為正在動畫的 DOM 元素。如果為多個元素設置了動畫,請務必注意,每個匹配的元素都會執行一次回調,而不是對整個動畫執行一次。
我們可以為任何元素設置動畫,例如簡單的圖像:
|
當單擊另一個元素時,我們將調用 .toggle()
:
|
最初顯示元素後,我們可以通過第一次單擊慢慢隱藏它:
第二次單擊將再次顯示該元素:
該方法的第二個版本接受一個布爾參數。如果此參數為 true
,則顯示匹配的元素;如果 false
,則隱藏元素。實質上,聲明:
|
相當於:
|
其他注意事項:
- 所有 jQuery 效果,包括
.toggle()
,都可以通過設置jQuery.fx.off = true
來全局關閉,這有效地將持續時間設置為 0。有關更多信息,請參閱 jQuery.fx.off 。
例子:
切換所有段落。
|
演示:
如果所有段落被隱藏則動畫顯示,如果它們可見則隱藏,在 600 毫秒內完成動畫。
|
演示:
顯示所有段落,然後來回隱藏所有段落。
|
演示:
相關用法
- JQuery UI .toggle()用法及代碼示例
- JQuery UI .toggleClass()用法及代碼示例
- JQuery .toggleClass()用法及代碼示例
- JQuery .toArray()用法及代碼示例
- JQuery .trigger()用法及代碼示例
- JQuery .text()用法及代碼示例
- JQuery .triggerHandler()用法及代碼示例
- JQuery UI .transfer()用法及代碼示例
- JQuery .jquery用法及代碼示例
- JQuery .scroll()用法及代碼示例
- JQuery .add()用法及代碼示例
- JQuery .contextmenu()用法及代碼示例
- JQuery .undelegate()用法及代碼示例
- JQuery .load()用法及代碼示例
- JQuery .contents()用法及代碼示例
- JQuery .empty()用法及代碼示例
- JQuery UI .labels()用法及代碼示例
- JQuery UI .addClass()用法及代碼示例
- JQuery .click()用法及代碼示例
- JQuery .removeAttr()用法及代碼示例
- JQuery .addClass()用法及代碼示例
- JQuery UI .cssClip()用法及代碼示例
- JQuery .next()用法及代碼示例
- JQuery UI .hide()用法及代碼示例
- JQuery .promise()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .toggle()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。