2012-02-28 4 views
1

Я строю приложение для просмотра изображений и я имею проблему с моим кодом:изменить размер изображения в окне изменения размера

$('.table_content_results table').click(function() 
{ 
    $('#overlay').show(); 
    $('#pdfFrame').show(); 
    $(window).resize(); 
}); 

$(window).resize(function() 
{ 

    var contentWidth = $('#pdfFrame').children('img').width(); 
    var contentHeight = $('#pdfFrame').children('img').height(); 

    var imageWidth = contentWidth/2; 
    var imageHeight = contentHeight/2; 

    $('#pdfFrame').children('img').width(imageWidth).height(imageHeight); 

    $('#pdfFrame').css(
    { 
     position:'absolute', 
     left: ($(window).width() - imageWidth)/2, 
     top: ($(window).height() - imageHeight)/2 
    }); 
}); 

С скриптом я обрезает размер изображения в сНу #pdfFrame. Одна из проблем заключается в том, что каждый раз, когда я изменяю размер окна, изображение на 50%. Мой вопрос - как предотвратить это для обрезки снова и снова.

Необходимо только обрезать, показывая изображение в первый раз.

Я надеюсь, что кто-то может мне помочь.

Заранее спасибо!

+0

вы желая изображение, чтобы обрезать после того, как окно достигает определенного размера, потому что сейчас его собирается изменить размер при любом изменении окна – Henesnarfel

+0

Если это предположить, чтобы изменить размер на нагрузку только, а не на размер, использовать нагрузку Jquery в() не изменять размер()? – adeneo

+0

Да, но pdfFrame должен иметь центр положения окна, и это зависит от размера изображения. –

ответ

2

На данный момент его изменение будет изменяться при любом изменении размера окна. Вероятно, именно то, что вы, вероятно, хотите, - это то, что если окно достигает определенного размера для обрезания изображения. Поэтому вам нужно проверить размер окна.

$(window).resize(function() 
{ 
    if($(window).width() < 400 || $(window).height() < 400) 
    { 
     //execute crop 
    } 
}