首頁  >  文章  >  web前端  >  jQuery.toggle() 函數用法實例詳解

jQuery.toggle() 函數用法實例詳解

巴扎黑
巴扎黑原創
2017-06-29 10:58:042736瀏覽

toggle()函數用來切換所有符合的元素。此外,你也可以指定元素切換的過渡動畫效果。

所謂"切換",也就是如果元素目前是可見的,則將其隱藏;如果元素目前是隱藏的,則使其顯示(可見)。

這裡介紹的toggle()函數用來切換元素的顯示/隱藏。 jQuery還有一個同名的事件函數toggle(),用於綁定click事件並在觸發時輪流切換執行不同的事件處理函數。

此函數屬於jQuery物件(實例)。

語法

jQuery 1.0 新增此函數。 toggle()函數主要有以下兩種形式的用法:

用法一:jQuery 1.4.3 新增支援參數easing。

jQueryObject.toggle( [ duration ] [, easing ] [, complete ] )

用法二:

jQueryObject.toggle( options )

用法二是用法一的變體。以物件形式指定所需的選項參數(可指定比用法一更多的選項參數)。

用法三:jQuery 1.3 新增支援該用法。

jQueryObject.toggle( showOrHide )

透過布林值showOrHide來指定是顯示還是隱藏元素。

參數

參數 描述

duration 可選/String/Number類型指定過渡動畫運行多長時間(毫秒數),預設值為400。此參數也可以為字串"fast"(=200)或"slow"(=600)。

easing 可選/String類型指定使用何種動畫效果,預設為"swing",也可以設為"linear"或其他自訂的動畫樣式的函數名稱。

complete 可選/Function類型元素顯示完成後需要執行的函數。函數內的this指向當前DOM元素。

options Object類別型態指定的選項參數物件。

showOrHide Boolean類型指定顯示/隱藏元素的布林值。如果為true,就顯示元素,否則隱藏元素。

如果沒有為toggle()指定任何參數,則將以最快方式直接顯示/隱藏元素,不使用動畫效果。

參數options物件可以辨識如下的屬性(以下屬性皆是可選的):

屬性 屬性描述

duration 參考參數duration。

easing 參見參數easing。

complete 請參閱參數complete。

queue Boolean類型指示是否將動畫放入效果佇列中,預設為true。從1.7版本開始,此參數可以為字串,用於放入指定名稱的效果佇列。如果你指定的佇列不會自動開始,你需要手動呼叫dequeue("queueName")來啟動佇列。

此外,jQuery 1.4 和 1.8 也為參數options新增了許多新的選項支持,但這些參數並不常用,此處不再贅述,詳見jQuery官方文件。

傳回值

toggle()函數的回傳值為jQuery類型,傳回目前jQuery物件本身。

範例&說明

請參考下面這段初始HTML程式碼:

<p>CodePlayer</p>
<p>专注于编程开发技术分享</p>

切換效果:

<select id="animation">
    <option value="1">toggle( )</option>
    <option value="2">toggle( "slow" )</option>
    <option value="3">toggle( 3000 )</option>
    <option value="4">toggle( 1000, complete )</option>
    <option value="5">toggle( 1000, "linear" )</option>
    <option value="6">toggle( options )</option>
    <option value="7">toggle( true )</option>
    <option value="8">toggle( false )</option>
</select>
<input id="btnSwitch" type="button" value="切换显示/隐藏" >

以下是與toggle()函數相關的jQuery範例程式碼,以示範toggle()函數的具體用法:

//【切换显示/隐藏】按钮
$("#btnSwitch").click( function(){
    var v = $("#animation").val();
    if( v == "1" ){
        $("p").toggle( );       
    }else if(v == "2"){
        $("p").toggle( "slow" );    
    }else if(v == "3"){
        $("p").toggle( 3000 );  
    }else if(v == "4"){
        $("p").toggle( 1000, function(){
            alert("切换完毕!");
        } );
    }else if(v == "5"){
        $("p").toggle( 1000, "linear" );    
    }else if(v == "6"){
        $("p").toggle( { duration: 1000 } );    
    }else if(v == "7"){
        $("p").toggle( true ); // 相当于$("p").show(); 
    }else if(v == "8"){
        $("p").toggle( false );  // 相当于$("p").hide();
    }
} );

以上是jQuery.toggle() 函數用法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn