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

jQuery.delay() 函數使用實例詳解

巴扎黑
巴扎黑原創
2017-06-30 11:42:431953瀏覽

delay()函數用於延遲隊列中下一項的執行。

delay()可以將佇列中等待執行的下一個動畫延遲指定的時間後才執行。它常用在佇列中的兩個jQuery效果函數之間,從而在上一個動畫效果執行後延遲下一個動畫效果的執行時間。

如果下一項不是效果動畫,則它不會被加入效果佇列中,因此該函數不會對它進行延遲呼叫。

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

語法

jQuery 1.4 新增此函數。

jQueryObject.delay( duration [, queueName ] )

#參數

參數 說明

duration 可選/String/Number類型指定延遲多少時間(毫秒數),預設值為400。此參數也可以為字串"fast"(=200)或"slow"(=600)。

queueName 可選/String類型指定的佇列名稱,預設為"fx",表示jQuery標準的效果佇列。

傳回值

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

範例&說明

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

e388a4556c0f65e1904146cc1a846bee動畫效果:

<select id="animation">
        <option value="1">动画1</option>
        <option value="2">动画2</option>
        <option value="3">动画3</option>
        <option value="4">动画4</option>
    </select>
    <input id="exec" type="button" value="执行动画" >
</p>
<div id="myDiv" style="width:300px; height: 100px; background-color: #eee;">CodePlayer</div>

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

$("#exec").click( function(){
    var v = $("#animation").val();
    var $myDiv = $("#myDiv");
    if(v == "1"){
        $myDiv.slideUp( 1000 )
        .delay( "slow" )
        .fadeIn( 1500 );
    }else if(v == "2"){
        $myDiv.fadeOut( "slow" )
        .delay( 2000 )
        .slideDown( 1000 )
        .animate( { height: "+=300" } );
    }else if(v == "3"){
        /*
        注意:只有动画才会被加入效果队列中
        以下代码实际上只有slideUp()、slideDown()会加入效果队列
        delay()的延迟只对slideDown()起作用
        show()在被调用时就立即执行了(此时slideUp的动画效果尚未执行结束)
        以下代码的执行顺序时:
        1、slideUp()被加入队列、开始执行,
        2、show()也开始执行,它立即执行完毕,此时slideUp()的动画尚未执行结束
        3、延迟2秒
        4、执行SlideDown()
        */
        $myDiv.slideUp( "slow" )
        .delay( 2000 ) 
        .show( ) // 它不是一个效果动画
        .slideDown( );
    }else if(v == "4"){
        $myDiv.show()
        .delay( 2000 )
        // 在现有高度的基础上增加300px (如果原来是100px,增加后就是400px)
        .animate( { height: "+=300px" }, 2000 ) 
        .animate( { width: "50%" }, 1000 )      
        .animate( { width: "200px", height: "100px" }, 1000 );      
    }
} );

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

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