2011-12-15 10 views
3

要素の高さが多少あります。この最初のブロックに従って、他の要素に余白を追加する必要があります。私はこのアクションjQueryの高さのプロパティに使用されましたが、それは動作しません。手伝って頂けますか?jQueryを使用して他の要素の高さに基づいて余白を追加します。

これは私のコードです:

$(document).ready(function(){ 
    if ($('.post_discussion_header').height(79) + 'px'){ 
     $('.no_0').css('margin-top','110px'); 
     } 
    }); 
}); 

TIA。

+0

あなたのif文が間違っています、あなたはそれを検証しますか? –

答えて

2

あなたの文が間違っている場合は、余白https://developer.mozilla.org/en/DOM/element.offsetHeight

あればボーダーとパディングを含め、要素の高さを返しオフセット高さを使用してではなく、検討することができるが、それは

if ($('.post_discussion_header').height() == 79){ 

する必要があります

if (parseInt($('.post_discussion_header')[0].offsetHeight,10) == 79){ 

EDIT:は、比較のために79に "79px" に変換することのparseIntを追加http://www.w3schools.com/jsref/jsref_parseInt.asp

また、あなたは多すぎます});あなたのコードで。行5はちょうど}

+0

ええ、それはうまく動作します、あなたの債務者です:) – Lukas

+0

@ ukasz-borawskiちょうど覚えています受諾応答ボタンをクリックする;-) – kamui

+0

完了、再び、thx! i'v add> 70、今私は柔軟な行動を取っています... – Lukas

0

$('.post_discussion_header').height(79)は、.post_discussion_headerの高さを79に設定し、.post_discussion_headerを返します。そのヘッダーを 'px'と連結します。あなたのコードは次のように評価されます

if('[object Object]px') { 
    ... 
} 

明らかに、これはあなたの意図ではありません。質問は、あなたの意思は何ですか?あなたはどのような状態を確認しようとしていますか?

コード内に});のセットが多すぎます。

+0

私は.post_discussion_headerに選択された高さがありません。このプロパティは、タイトルに1行または2行があるときに設定されます。 1行に79px以下のものがあれば、.no_0 bcs .post_discussion_header固定表示に設定されています...( – Lukas

0

.css("height")と一緒にお試しください。
div要素の実際の高さに高さを追加しようとすると、jQuery.css( "height")が "23px"を返すので、整数値を追加する前に "px"を削除する必要があることを忘れないでください。

2
 

$(document).ready(function(){ 
    if ($('.post_discussion_header').height() == 79) { 
     $('.no_0').css('margin-top','110px'); 
    } 
}); 
 
関連する問題