Можно ли обнаружить, как изображение загружено с помощью jQuery?Обнаружение загрузки изображения
ответ
Вы можете использовать обработчик .load()
событий, как это:
$("#myImg").load(function() {
alert('I loaded!');
}).attr('src', 'myImage.jpg');
Обязательно приложите его перед тем установки источника или события могут быть уволены, прежде чем вы прикрепили обработчик для прослушивания его (например, загрузка из кеша).
Если это не выполнимо (установка src
после связывания), не забудьте проверить, если он загружен и выстрелить себе, как это:
$("#myImg").load(function() {
alert('I loaded!');
}).each(function() {
if(this.complete) $(this).load();
});
Это так же просто использовать простой Javascript:
// Create new image
var img = new Image();
// Create var for image source
var imageSrc = "http://example.com/blah.jpg";
// define what happens once the image is loaded.
img.onload = function() {
// Stuff to do after image load (jQuery and all that)
// Within here you can make use of src=imageSrc,
// knowing that it's been loaded.
};
// Attach the source last.
// The onload function will now trigger once it's loaded.
img.src = imageSrc;
это не удается при проверке изображений, которые уже находятся в кэше. – vsync
Я также исследовать это в течение долгого времени, и нашел этот плагин удивительно помощь с этим: https://github.com/desandro/imagesloaded
Похоже, это очень много кода, но ... Я не нашел другого способа проверить, когда изображение было загружено.
Использование функции jQuery on ('load') - это правильный способ проверить, загружено ли изображение. Но имейте в виду, что функция on ('load') не будет работать, если изображение уже находится в кеше.
var myImage = $('#image_id');
//check if the image is already on cache
if(myImage.prop('complete')){
//codes here
}else{
/* Call the codes/function after the image is loaded */
myImage.on('load',function(){
//codes here
});
}
Я думаю, что это может помочь вам немного:
$('img').error(function(){
$(this).attr(src : 'no_img.png');
})
Так что, если он загружен - будет показано исходное изображение. В другом - будет показано изображение, содержащее факт с разбитым изображением или 404 HTTP Header.
Это легко с JQuery:
$('img').load(function(){
//do something
});
Если пробовал с:
$('tag')html().promise().done(function(){
//do something
}) ;
, но это не будет проверять, если изображение нагрузки. Этот огонь выполняется, если код загружен. В противном случае вы можете проверить, был ли код выполнен, а затем запустить функцию загрузки img и проверить, действительно ли изображение загружено. Таким образом, мы делаем их комбинацию:
$('tag')html('<img src="'+pic+'" />').promise().done(function(){
$('img').load(function(){
//do something like show fadein etc...
});
}) ;
- 1. Обнаружение отмены загрузки изображения в Javascript
- 2. Обнаружение ошибки загрузки ресурса
- 3. Обнаружение изображения внутри изображения
- 4. Обнаружение события загрузки нескольких изображений
- 5. Обнаружение загрузки библиотеки классов
- 6. Обнаружение загрузки WebView
- 7. Незаконное обнаружение загрузки видео
- 8. Обнаружение изображения 404 в javascript
- 9. JQuery: Обнаружение Финиш Загрузка изображения
- 10. Обнаружение шума изображения Javascript
- 11. Обнаружение изображения Открыто CV
- 12. Обнаружение края изображения
- 13. Текстовое обнаружение изображения
- 14. Обнаружение изображения в RichTextBox
- 15. ImageView - Обнаружение изображения Boundry
- 16. Алгоритм изображения - обнаружение света
- 17. Обнаружение изображения обложек Android
- 18. Обнаружение конца изображения
- 19. Обнаружение цвета фона изображения
- 20. Обнаружение Похожие изображения
- 21. множественное обнаружение столкновения изображения
- 22. Обнаружение пустых областей изображения
- 23. Node.js - Обнаружение оптимизации изображения
- 24. Обнаружение захвата изображения
- 25. Обнаружение касания изображения (cocos2d)?
- 26. обнаружение изображения блока
- 27. Обнаружение поврежденного файла изображения
- 28. Обнаружение статуса загрузки в Firefox
- 29. Обнаружение загрузки файла Состояние завершения
- 30. Обнаружение пути загрузки в браузере
Можно ли сделать это: '$ ("# myImg") жить ("нагрузка", функция() {// танец});'» –
К сожалению. , '.load()' устарел из-за jQuery v1.8 – SquareCat
@CummanderCheckov, он устарел из-за неоднозначности между обработчиком события и сборщиком содержимого ajax. В приведенном выше коде просто замените '.load (' на '.on ('load', 'для эквивалентной функциональности в 1.7+. –