2012-05-07 6 views
0

Итак, у меня есть изображение в теле моей веб-страницы.Сквош изображение в окно, если окно больше, чем изображение

Если высота окна пользователя меньше 800 пикселей (высота изображения), изображение должно быть сжато в нем (чтобы пользователь мог видеть всю высоту изображения).

Если, с другой стороны, высота окна больше 800 пикселей, изображение должно быть вертикально центрировано.

Какие-нибудь самосвалы?

Спасибо.

+0

Я совершенно ужасны на то, что не основной JavaScript/CSS/HTML, так что ничего, кроме игр с помощью CSS. – JoeRocc

+0

проверьте мой маленький ответ, давая вам подсказку о том, что вы можете сделать ... Позиционирование зависит от того, чего вы хотите достичь ... только положение в середине окна не достаточно> что, если пользователь прокручивает? –

ответ

2

с помощью JQuery вы могли бы сделать что-то вроде:

var win = $(window); 
win.load(function() { 
    var image = $("#img"); 
    if (image.height() > win.height()) { 
    image.height(win.height()); 
    } else { 
    // assuming your image is positioned absolute 
    // you should measure its dimensions and then position it 
    // depends on the ways it should be centered... in the current window or the whole document? 
    } 
}); 

win.resize(function() { /* do something */ }); 

должен сделать трюк, чтобы просто изменить размер изображения до высоты окна, если изображение больше селектор должен быть адаптирован для изображения элемента Конечно ...

EDIT: добавлено изменение размера обратного вызова

+0

Это замечательно! Мой единственный вопрос: нужно ли использовать setInterval, чтобы продолжать проверять это, просто изменив размер окна? Или есть какой-то триггер, который я могу использовать, например «onWindowDimensionChange()»? – JoeRocc

+0

см. Отредактированный код ... win.resize добавляет прослушиватель событий к событию «resize», запущенному браузером ... будьте осторожны, IE7 иногда вызывает событие изменения размера, если DOM изменяется, поэтому ваш код может запускаться в циклы (в зависимости от на HTML/CSS) –

+0

Тобиас, ты мой спаситель! – JoeRocc

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