2014-03-03 73 views
0

我有這樣一個場景: 當您單擊另一個DIV將拿出,並顯示等待動畫,它工作正常,但 時,我希望它消失它不會在這裏工作是我的代碼:動畫並沒有消失

$(document).ready(function() { 


$('#t').hide(); 
$("#clickme").click(function() { 
    $("#t").fadeIn(4000, function() { 
     // Animation complete 
     $("#t").show(); 
    }); 
}); 
setTimeout(

}, 5000); 
$("#t").fadeOut(4000, function() { 
    $("#t").hide(); 
}); 
}); 

和小提琴鏈接如下:http://jsfiddle.net/hminaee/qF8dX/1/

誰能幫助?

回答

1

您可以使用delay()這裏來代替:

$(document).ready(function() { 
    $('#t').hide(); 
    $("#clickme").click(function() { 
     $("#t").fadeIn(4000, function() { 
      $("#t").show().delay(4000).fadeOut(1000); 
     }); 
    }); 
}); 

所以基本上,顯示出你的等待動畫完成後,它會延時4秒,然後在1秒內淡出你的等待動畫。

Fiddle Demo


基於您的評論,你可以添加 pointer-events: none到您的模式,讓點擊事件經過模態:

.modal { 
    pointer-events: none; 
} 

Updated Fiddle

+0

非常感謝你真棒答案,但我希望它停止以下情形時,它不工作這有什麼問題DIV1用戶點擊:jsfiddle.net/hminaee/qF8dX/8 –

+0

檢查我的更新:) – Felix

+0

非常感謝:) –

1

此密切與您的原始代碼綁定: 個Fiddle

$(document).ready(function() { 
    $('#t').hide(); 
    $("#clickme").click(function() { 
     $("#t").fadeIn(4000, function() { 
      // Animation complete 
     }).promise().done(function() {; 
      $("#t").fadeOut(4000, function() { 
       // Animation complete 
       $("#t").hide(); 
      }); 
     }); 
    }); 
}); 
+0

非常感謝您的真棒回答,但在下面的情況下,當我想要它停止時,用戶點擊div1它不工作這是什麼問題:jsfiddle.net/ hminaee/qF8dX/8 –