2017-04-25 52 views
0

我使用下面的代碼片段在AJAX success處理有什麼辦法中止jquery的承諾功能

if (response.responsecode == 1) { 
    $(".model-div").show(); 
    $("#model-title-bar").show(""); 
    $("#model-title-bar").delay(4500).fadeOut().promise().done(function(){ 
    $(".model-div").hide(); 
    }); 
} 

現在我想執行$(".model-div").hide();以及$("#model-title-bar").hide()這是承諾的功能的一部分,將自動隱藏4500毫秒後。

現在我想隱藏$("#model-title-bar")只要點擊任何地方在瀏覽器上觀察,無論時間它應該是任何值< 4500毫秒。

回答

0

這個環節應該是有幫助的:deferred.rejectwith

它將使你拒絕延期對象。此外,您可以傳遞上下文和參數,因爲failCallback將被調用。

0

我覺得一個功能stop()可以幫助你:

$('body').click(function() { 
    $("#model-title-bar").stop(); 
});