Tôi có hoạt ảnh gif lớn trên trang web và muốn bắt đầu hoạt ảnh cho đến khi tải xong. Làm thế nào mà có thể sử dụng JavaScript/jQuery?Bắt đầu hoạt ảnh gif cho đến khi nó được tải hoàn toàn
Trả lời
Sử dụng hình ảnh giữ chỗ, và thay thế bằng các hoạt hình GIF lần GIF đó là nạp đầy đủ:
<img id="anim" src="placeholder.gif">
JS:
var myanim = new Image();
myanim.src = '/img/actions.png';
myanim.onload = function() {
document.getElementById('anim').src = myanim.src;
}
Bạn có thể ẩn GIF với CSS (hoặc JS thay thế chúng bằng một placeholder) và khi GIF được nạp bạn có thể bắn chương trình()
$('img[src$=".gif"]').load(function(){$(this).show())
Bạn không có quyền kiểm soát hoạt ảnh gif thông qua javascript, vì vậy bạn phải triển khai một số loại hack. Bạn phải làm cho nó ẩn trong đầu. Thay vì hình ảnh thực tế bạn có thể đặt một div với kích thước của hình ảnh thực tế và với văn bản như "chờ đợi".
Khi hình ảnh được tải xuống trong trình duyệt, bạn có thể thay thế div bằng hình ảnh. Và tại thời điểm đó, hoạt ảnh sẽ bắt đầu
Bạn có thể ẩn nó cho đến khi được tải hoàn toàn.
<!--- this uses jquery !-->
<script type="text/javascript">
var image_url = "http://media.tumblr.com/tumblr_m4doax3R071r9c1z7.gif";
var image = $('<img />').load(function(){
$(this).show();
}).attr('src', image_url).hide();
$('body').append(image);
</script>
Vấn đề ở đây là khi hình ảnh đã được tải về (nghĩa là nó là trong bộ nhớ cache trình duyệt), có thực sự dường như không có cách nào để bắt đầu nó từ một khung cụ thể.
- 1. image.onload cháy trước khi hình ảnh được tải hoàn toàn
- 2. Bắt đầu hoạt ảnh khi tải trang, dừng trên trang được tải
- 3. Chờ cho đến khi tệp được viết hoàn toàn
- 4. Làm thế nào để đợi cho đến khi WebBrowser được tải hoàn toàn trong VB.NET?
- 5. Gif động không hoạt ảnh khi gửi
- 6. base64 được mã hóa hoạt ảnh gif làm nền css?
- 7. Hoàn thành một hoạt ảnh rồi bắt đầu một hoạt ảnh khác
- 8. không ẩn tải cho đến khi trang tải hoàn toàn trong điện thoại di động jquery
- 9. Làm cách nào để hiển thị hoạt ảnh gif tải ajax khi trang đang tải?
- 10. Bắt đầu IntentService từ Hoạt động và làm mới Hoạt động khi IntentService được hoàn thành
- 11. Hoạt ảnh một phần hoạt động nhưng không hoàn toàn
- 12. Khóa màn hình bằng cửa sổ bật lên cho đến khi trang thời gian được tải hoàn toàn
- 13. khi nào là một highchart được tải hoàn toàn?
- 14. Chặn Javascript cho đến khi quá trình tải trước hình ảnh hoàn tất?
- 15. Ngủ cho đến khi bắt đầu phút tiếp theo
- 16. cách bắt đầu hoạt ảnh khi kết thúc một hoạt ảnh khác?
- 17. Hoạt ảnh trong javascript, điểm bắt đầu
- 18. Hoạt ảnh không bắt đầu cho đến khi cập nhật giao diện người dùng hoặc sự kiện chạm
- 19. Grand Central Dispatch - hiển thị hình ảnh đầu tiên khi nó được tải?
- 20. Thứ tự sự kiện jQuery và chờ cho đến khi hoạt ảnh hoàn thành
- 21. Internet Explorer 8 đợi cho đến khi trang được hiển thị hoàn toàn và javascript được thực thi
- 22. Hoạt hình gif khi di chuột
- 23. SpriteBatch: "Bắt đầu không thể được gọi lại cho đến khi End được gọi thành công."
- 24. jQuery: fadeout() không hoạt động trên phần tử được định vị hoàn toàn khi được tải qua AJAX
- 25. Làm thế nào để có được khi một ImageView được tải hoàn toàn trong Android
- 26. Đặt hoạt ảnh .GIF Làm nền Android
- 27. Tại sao hoạt ảnh gif mất quá nhiều thời gian để tải?
- 28. .Tiếp tục bắt đầu trước khi hoàn thành nhiệm vụ
- 29. Ngăn tải hình ảnh cho đến khi nó ở trong chế độ xem bằng ng-src
- 30. Tắt hoạt ảnh GIF trong HTML
Bạn không thể dừng/bắt đầu hoạt ảnh gif. Bạn có thể ẩn nó và hiển thị nó khi nó tải, hoặc hiển thị một hình ảnh tĩnh (jpg, ví dụ) và trao đổi nó cho gif khi nó được nạp. – Archer
bản sao có thể có của [Javascript để chỉ hiển thị gif động khi được tải] (http://stackoverflow.com/questions/5826747/javascript-to-only-display-animated-gif-when-loaded) –