2017-02-02 8 views
0

JavaScriptがCSSの現在の高さに高さを追加したいのですが、それはpxユニットでは動作しますが、exユニットでは機能しません。これに対する解決策を知っている人は誰ですか?なぜJavascriptはexユニットで高さを追加しませんか?

HTML:

<div class="parent"> 
    <div class="child"> 
     Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum 
    </div> 
</div> 

CSS:

.parent { 
    width:150px; 
    height:100px; 
    float:left; 
    background:red; 
} 

.child { 
    line-height:2.5ex; 
    max-height:5ex; 
    margin:2.5ex; 
    background: green; 
    overflow: hidden; 
} 

はJavaScript:

$(document).ready(function(){ 
    var child = $(".child"); 

    var height = parseInt(child.css("max-height").split("ex")[0]); 

    height = height + 10 ; 

    child.css({"max-height": height}); 

}); 

答えて

0

あなたはCSSプロパティを設定するときexを追加する必要があります。 jQuery docsから:明示的なユニットが指定されていない場合は

(「日」または「%」のような)、その後「PXは」値に連結されます。

$(document).ready(function(){ 
 
    var child = $(".child"); 
 

 
    var height = parseInt(child.css("max-height").split("ex")[0]); 
 

 
    height = height + 10 ; 
 

 
    child.css({"max-height": height + "ex"}); 
 

 
});
.parent { 
 
    width:150px; 
 
    height:100px; 
 
    float:left; 
 
    background:red; 
 
} 
 

 
.child { 
 
    line-height:2.5ex; 
 
    max-height:5ex; 
 
    margin:2.5ex; 
 
    background: green; 
 
    overflow: hidden; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="parent"> 
 
    <div class="child"> 
 
     Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum 
 
    </div> 
 
</div>

+0

[OK]を、私はPXユニットを除く他のすべてのユニットのためにこれをしなければならないのですか? –

+0

まさに!私の答えにこれについての言及を加えました。 –

+0

ああ、ありがとう^^私はJSの完全なnoobだと思った.split( "ex")はユニットを指定するだろう〜 –

1

あなたはこのようにそれを行う必要があります:child.css({"max-height": height + 'ex'});

関連する問題