Я бы хотел показать изображение как можно больше. Когда пользователь щелкает его в галерее, он будет загружен через ajax и должен быть изменен. Опять же, изменение размеров не проблема, если я использую его с помощью щелчка события, он отлично работает, но это не правильно срабатывает, если я включаю его, как это:jQuery: изменение размера изображения после загрузки - изменение размера уже работает, но не активировано
$('.thumbnail').click(function() {
id = $(this).attr('id');
$('#picbox').fadeIn(fadeSpeed);
$('#picture').load("/propfe/ajax/picture/" + id);
$('#picture').fadeIn(fadeSpeed);
$('#bigpic').ready(function() {
var browserHeight = $(window).height() - 200;
var browserWidth = $(window).width() - 200;
var height = $('#bigpic').height();
var width = $('#bigpic').width();
var picRatio = width/height;
var windowRatio = browserWidth/browserHeight;
if(picRatio < windowRatio) {
$('#bigpic').css({ "height": browserHeight + "px" });
}
if(picRatio > windowRatio) {
$('#bigpic').css({ "width": browserWidth + "px" });
}
});
$('.pic_loader').fadeOut(fadeSpeed, function() {
$('.pic_loaded').fadeIn(fadeSpeed);
});
});
До сих пор я подумайте, что я скоро это выучу, может быть, вам действительно не нужно читать этот параграф: Код запускается нажатием на миниатюру. Во-первых, он получает идентификатор изображения, который должен быть загружен и исчезать в div, все будет загружено и с загрузкой-gif. После этого запрос ajax будет отправлен, результат будет исчезать, и когда он будет готов, изображение (id = bigpic) должно быть изменено. Последние строки не очень интересны, они просто исчезают из загрузочного гифа и исчезают во всем остальном, код генерируется.
Когда я пытался выдавать некоторые переменные, предупреждение выдается до того, как все исчезнет, а ширина и высота изображения равны нулю, поэтому, я думаю, код запускается до загрузки изображения.
Так как это возможно, оно просто выполнено, если изображение полностью загружено?
Я не уверен, но вы можете попробовать поставить код «изображение готово и получить высоту и ширину» f, что готовый образ "в обратном вызове' .load() 'функции jquery. обратитесь к http://api.jquery.com/load для обратного вызова для '.load()' –
К сожалению, он также не работает ... – StoryTeller
попробуйте изменить '$ ('# picture'). Load ("/propfe/ajax/picture/"+ id)' to '$ ('# bigpic'). load ("/propfe/ajax/picture/"+ id)' или показать некоторый html, который вы использовали. –