質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

2457閲覧

ウインドウリサイズ時に、innerHeightの数値が更新されない

moyassy

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/09/21 05:50

前提・実現したいこと

大変初歩的な内容で申し訳ありませんが、
お力お借りできれば幸いです。

子要素(#data)の高さを親要素(#x_data_area)のcssに代入しようと思い、
以下の記述をしてみたのですが、
ウインドウサイズを変えても、読み込み時に拾った数値を引き継いでしまいます。

どのように記述を変更すればよいでしょうか。

※tdひとつひとつの幅を200pxに指定する関係で、改行が走り、
ウインドウ幅によって子要素の高さが変動します。

発生している問題・エラーメッセージ

ページ読み込み時 #data:高さ500px #x_data_area:高さ500px ↓ウインドウリサイズ #data:高さ700px #x_data_area:高さ500pxのまま 700pxになってほしい

該当のソースコード

<div id="x_data_area"> <div id="data"> <table> <tr> <td>aaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbb</td> <td>ccc</td> </tr> </table> </div> </div> <script> $(document).ready(function(){ var wH = $('#x_data_area').innerHeight(); var divH = $('#data').innerHeight(); if(wH < divH){ $('#x_data_area').css('height',divH+'px'); } });</script>

試したこと

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

$(window).on('load resize', function(){
var wH = $('#x_data_area').innerHeight();
var divH = $('#data').innerHeight();
if(wH < divH){
$('#x_data_area').css('height',divH+'px');
}
});

こちらの記述に変更して、求めていた挙動になりました。

投稿2018/09/21 07:24

編集2018/09/21 07:32
moyassy

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moyassy

2018/09/21 08:09

ありがとうございます! 助かりました。
guest

0

こういう感じでしょうか…?
これだと、ウィンドウリサイズ中でも処理が走りますので、完了のタイミングを取るなら別途処理が必要と思います。

javascript

1 $(window).on('resize', function(){ 2 var wH = $('#example').innerHeight(); 3 console.log('wH resize = [' + wH + ']'); 4 });

参考:
http://analogic.jp/window-resize-complete/

投稿2018/09/21 06:20

arcrista_qg

総合スコア70

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moyassy

2018/09/21 07:24

色々試してみたのですが、うまくいかず、、 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問