Tôi đang sử dụng .show
để hiển thị một tin nhắn ẩn sau khi gửi biểu mẫu thành công.
Làm thế nào để hiển thị tin nhắn trong 5 giây rồi ẩn?
Tôi đang sử dụng .show
để hiển thị một tin nhắn ẩn sau khi gửi biểu mẫu thành công.
Làm thế nào để hiển thị tin nhắn trong 5 giây rồi ẩn?
Câu trả lời:
Bạn có thể sử dụng .delay()
trước một hình ảnh động, như thế này:
$("#myElem").show().delay(5000).fadeOut();
Nếu đó không phải là hoạt hình, hãy sử dụng setTimeout()
trực tiếp, như thế này:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
Bạn làm thứ hai vì .hide()
thông thường sẽ không có trong fx
hàng đợi hoạt hình ( ) mà không có thời lượng, đó chỉ là hiệu ứng tức thì.
Hoặc, một tùy chọn khác là sử dụng .delay()
và .queue()
chính bạn, như thế này:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
.delay()
sẽ không hoạt động với .hide()
phần tử sẽ được hiển thị sau đó ẩn ngay lập tức. Xem jsFiddle đây là lý do Nick tuyên bố "Nếu đó không phải là hoạt hình, hãy sử dụng trực tiếp setTimeout (), như thế này: ...."
Bạn có thể sử dụng hiệu ứng dưới đây để tạo hiệu ứng, bạn có thể thay đổi các giá trị theo yêu cầu của bạn
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
Chỉ đơn giản như thế này:
$("#myElem").show("slow").delay(5000).hide("slow");