Trước tiên, bạn có thể chắc chắn rằng hình ảnh của bạn được ẩn theo mặc định (loại bỏ nhu cầu về jQuery hide
cuộc gọi của bạn) với một số CSS,
.contentwrap img {
display:none;
}
Và sau đó, trong document.ready của bạn, bạn có thể thử những điều sau đây. Tôi sẽ thừa nhận sẽ có một số dư thừa ở đây trong đó một số hình ảnh có thể (đằng sau hậu trường) được cố gắng mờ dần trong hai lần, nhưng kết quả cuối cùng sẽ trông giống nhau. Đây là sự cân bằng tôi sẽ thừa nhận trong việc cố gắng đưa ra một câu trả lời đơn giản cho điều này.
Tình huống sẽ có trong tài liệu của bạn. Đã có, một số hình ảnh có thể đã tải (đặc biệt là những hình ảnh đã được lưu trong bộ nhớ cache) và một số hình ảnh có thể chưa được xử lý.
// fade in images already loaded:
$('.contentwrap img').fadeIn(1000);
// and tell pending images to do the same, once they've finished loading:
$('.contentwrap img').load(function() {
$(this).fadeIn(1000);
});
Vì jQuery sẽ "ngăn" hiệu ứng hoạt ảnh của bạn, bạn có thể gọi fadeTrong đó lại và không có gì (hiển nhiên) xảy ra.
Nếu điều này là không thể chấp nhận được, bạn có thể đưa ra một số cách phức tạp hơn để kiểm tra hình ảnh nào đã bị mờ và không có, trước khi bạn đặt sự kiện tải lên chúng.
Chúc may mắn!
vâng tôi đang có nhiều jquery khác. – James
'$ (tài liệu) .ready' sẽ kích hoạt sau khi tất cả HTML, bao gồm cả hình ảnh, được tải – chelmertz
nó cháy sau khi DOM được tải – James