2014-02-21 4 views
1

Я пытаюсь загрузить изображение в виде «лайтбоксов» на полном экране. Изображение должно быть изменено до размера экрана (с пространством 35 пикселей на каждой стороне - в зависимости от большей стороны [ширина/высота]), но оно не должно превышать размер файла. Как я могу это сделать?Изменить размер изображения на полноэкранный или размер файла

$('body').prepend('<div id="overlay" style="display: none;"></div>'); 
$('#overlay').fadeIn(); 

$('body').prepend('<div id="content" style="display: none;"><img class="photo" src="images/file.jpg" /></div>'); 
$(".photo").load(function(){ 
    var h_image = $(this).height()-70; // I do not get the height of the image... What's wrong? 
    var h_screen= $(window).height()-70; 
    if (h_image> h_screen) { 
     $(this).height(s_screen); 
    } 
    else { 
     $(this).height(h_image); 
    } 
    $('#content').fadeIn(); 
}); 
+0

Что вы имеете в виду под "размер_файла"? Вы имеете в виду, что он не может быть больше в байтах, чем исходный размер файла? – Toothbrush

+0

нет, я имею в виду размеры. т.е.: если файл изображения имеет размеры 3000x2000px, изображение будет отображаться на экране, т.е. 1440x900px. Но если размер изображения 400x300px, он будет отображаться как 400x300px, потому что он не может быть больше этого. – user3142695

+0

OK; вы хотите сохранить соотношение сторон. – Toothbrush

ответ

1

Вам нужно изменить height() к offset().height:

$('body').prepend('<div id="overlay" style="display: none;"></div>'); 
$('#overlay').fadeIn(); 

$('body').prepend('<div id="content" style="display: none;"><img class="photo" src="images/file.jpg" /></div>'); 
$(".photo").load(function(){ 
    var h_image = $(this).offset().height-70; 
    var h_screen= $(window).height()-70; 
    if (h_image> h_screen) { 
     $(this).height(s_screen); 
    } 
    else { 
     $(this).height(h_image); 
    } 
    $('#content').fadeIn(); 
}); 
+0

@ user3142695 Если мой ответ помог вам, не могли бы вы проголосовать за мой ответ, пожалуйста? – Toothbrush

+0

В чем разница между this.height и this.offset(). Height? – user3142695

+0

См. Https://api.jquery.com/offset/ – Toothbrush

 Смежные вопросы

  • Нет связанных вопросов^_^