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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2388閲覧

画像のサイズを取得して、条件によって割り当てるクラスを変える

dian_kat

総合スコア16

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2016/07/13 13:06

###実現したいこと

<div class="row">内の<img>のオリジナルのサイズを取得して、 横幅がの方が大きい画像を読み込んでいる場合の<img>タグには、 .width_max{ width:100%; } というクラスを振り、 縦幅がの方が大きい画像を読み込んでいる<img>タグには、 .height_max{ height: 100%; } というクラスを振るような動作を javascriptで制御したいと思っております。 どうぞよろしくお願いいたします。

###該当のソースコード

<div class="row"> <div class="column"> <div class="area-image"> <img src="img/" alt=""> </div>
<div class="area-text"> <p class="model-number">XXXXXXXX<br> <span class="launch-date">XXXXXXXX</span></p> </div>
</div> <div class="column"> <div class="area-image"> <img src="img/" alt=""> </div> <div class="area-text"> <p class="model-number">XXXXXXXX<br> <span class="launch-date">XXXXXXXX</span></p></div> </div> <div class="column"> <div class="area-image"> <img src="img/" alt=""> </div> <div class="area-text"> <p class="model-number">XXXXXXXX<br> <span class="launch-date">XXXXXXXX</span></p></div> </div> </div> ###条件 1、テンプレートページとなるため、 どのような画像のサイズが入ってくるかはわかりません。

2、場合によっては小さいサイズの画像は拡大表示させることも想定していますが、
縦横の比率は維持して表示させたいです

3、<div class="area-image">には
width: 210px; height: 130px;
と、最大のサイズは決まっております。

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

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

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

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

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

kei344

2016/07/13 13:08

ご自身で書かれたコードを質問文に追記いただいたほうが回答を得られやすいと思います。また、コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
dian_kat

2016/07/14 02:50

ご指導ありがとうございます。以後質問させていただく際に参考にさせていただきます。
kei344

2016/07/14 02:55

質問文は編集可能なので、よろしくお願いします。
guest

回答1

0

ベストアンサー

jQueryと書かれていないので、素のjavascriptで書きます。説明はコードの中に添えてあります。

javascript

1// 全部の画像が読み込み終わっているタイミングで 2window.onload = function() { 3 // rowクラスの中のimgタグを全て取る 4 var imageList = document.querySelectorAll(".row img"); 5 6 for(var i=0;i<imageList.length;i++) { 7 // imgタグを1つ取る 8 var image = imageList.item(i); 9 10 // 画像の幅と高さを比較する 11 if(image.width > image.height) { 12 img.className += " width_max"; 13 } 14 else { 15 img.className += " height_max"; 16 } 17 } 18};

投稿2016/07/13 23:53

masaya_ohashi

総合スコア9206

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

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

dian_kat

2016/07/14 02:58

ご回答ありがとうございます。 javascriptは学習し始めたばかりなので、とても参考になりました。 また機会がありましたら宜しくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問