divの特定のウィンドウ幅と特定の高さの後に、動的な背景画像の高さを取得するdivが必要です。
したがって、div(.header-block-wrapper)が> = 630pxで、ウィンドウ幅が> = 978pxの場合、divは背景画像と同じ高さである必要があります。
ここで取得した背景画像の高さを検出するためのコードスクリプト: jQueryで背景画像のサイズを取得するにはどうすればよいですか?
スクリプト全体もサイズ変更時に起動する必要があるため、($(window).resize ...)を使用しました。
しかし、それは機能していません...何か考えはありますか?
$(window).load(function() {
$(function(){
var innerHeight = $('.header-block-wrapper').height();
var innerWidth = $('.header-block-wrapper').width();
var backgroundHeight;
$(image).load(function () {
backgroundHeight = image.height;
});
image.src = $('.header-block-wrapper').css('background-image').replace(/url\(|\)$/ig, "");
$(window).resize(function(){
if( innerHeight >= 630px && innerWidth >= 978px) {
$('.header-block-wrapper').css("height",backgroundHeight);
}else {
$('.header-block-wrapper').css("height","auto");
}
});
});
});
編集//私はそれを修正しました:
了解しました。background-imageを使用する代わりに、div内の画像を背景として使用するように修正しました。この画像の幅は100%、自動高さ、絶対値です。
画像の高さを取得してから背景画像を取得する方が簡単です。
jQuery(window).load(function() {
jQuery(window).resize(function(){
var innerHeight = jQuery('.header-block-wrapper').height();
var innerWidth = jQuery('.header-block-wrapper').width();
var imageHeight = jQuery('.header-block-image').height();
if( innerHeight >= 630 && innerWidth >= 978) {
jQuery('.header-block-wrapper').css("height",imageHeight);
}else {
jQuery('.header-block-wrapper').css("height","auto");
}
});
});