Tôi không thể trì hoãn việc hiển thị div. Tôi muốn trì hoãn hoạt ảnh trong khoảng 20 giây là điều này có thể không ???Làm thế nào để trì hoãn hoạt ảnh jquery?
$("#microcharcounter").delay(10000).show();
Tôi không thể trì hoãn việc hiển thị div. Tôi muốn trì hoãn hoạt ảnh trong khoảng 20 giây là điều này có thể không ???Làm thế nào để trì hoãn hoạt ảnh jquery?
$("#microcharcounter").delay(10000).show();
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()
.
Bạn có thể làm điều đó như thế này:
setTimeout(function() {
$("#microcharcounter").show();
}, 20000);
Vấn đề với .delay()
và .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");
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
Nếu bạn xếp hàng theo cách thủ công, đừng quên để dequeue! :) –
@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
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. –