ここのこのWebサイト が、ウィンドウサイズをonloadで塗りつぶし、ウィンドウのサイズを変更しながら、ウィンドウを元の比率で塗りつぶすレスポンシブヘッダー画像をどのように作成したかを理解しようとしています。
これは私がこれまでに思いついたものですが、非常にグリッチです...
働くフィドル
$(window).load(function() {
$('#intro-background').height( $(window).height() );
$('#intro-background img').height( $(window).height() );
var imageRatio = (1900 / 1270); //Original image size
$(window).resize(function() {
$('#intro-background').height( $(window).height() );
var windowRatio = $(window).width() / $(window).height();
if(windowRatio != imageRatio) {
if($('#intro-background img').width() < $(window).width()) {
$('#intro-background img').width($(window).width());
$('#intro-background img').height($(window).width() / imageRatio);
} else if( $('#intro-background img').height() > $(window).height() ) {
$('#intro-background img').height($(window).height());
$('#intro-background img').width($(window).height() * imageRatio);
}
if($('#intro-background img').height() < $(window).height()) {
$('#intro-background img').height($(window).height());
$('#intro-background img').width($(window).height() * imageRatio);
}
}
});
});