2010-08-27 35 views

Trả lời

37

Hãy thử điều này:

$("#microcharcounter").delay(10000).show(0); 

hay này:

$("#microcharcounter").delay(10000).queue(function(n) { 
    $(this).show(); 
    n(); 
}); 

Lý do cho điều này là .delay() sẽ chỉ trì hoãn các mục trong một hàng đợi hình ảnh động. Vì vậy, bạn có thể tạo .show() một hoạt ảnh ngắn bằng cách thêm thời lượng là '0' hoặc thêm nó vào hàng đợi với .queue().

+4

Nếu bạn xếp hàng theo cách thủ công, đừng quên để dequeue! :) –

+0

@Nick - Chỉ cần thêm 'n();', nhưng nó là cần thiết khi nó là mục cuối cùng? – user113716

+0

Yup, nếu bạn từng gọi một hoạt ảnh khác, ví dụ, tốt nhất là IMO an toàn, bạn có thể gọi '$ (this) .show(). Dequeue()', đó là những gì tôi có xu hướng làm khi giao dịch với '$ (này) ', một chút sạch hơn với tôi anyway. –

13

Bạn có thể làm điều đó như thế này:

setTimeout(function() { 
    $("#microcharcounter").show(); 
}, 20000); 

Vấn đề với .delay().show() (không có thời gian), là .show() không phải là một phim hoạt hình, nó là một tác dụng ngay lập tức mà không phải trên fx hàng đợi tại tất cả các. Tuy nhiên, bạn có thể cho nó một khoảng thời gian, như sau:

$("#microcharcounter").delay(20000).show("fast"); 
+0

Luôn tìm kiếm sự chậm trễ trên google khi tôi cần sử dụng setTimeout. Vì vậy, bài đăng này đã giúp tôi một vài lần :) – Kimtho6

Các vấn đề liên quan