javascriptで質問です。下記のようなjQueryで記述が重複している部分を簡略化したいと思っています。ご教授いただけますでしょうか。


var linkHeight = $(window).height();

var divLink = $("#link").height();
if(divLink < linkHeight){
$("#link").css("height",linkHeight);
};

var divDealer = $("#dealer").height();
if(divDealer < linkHeight){
$("#dealer").css("height",linkHeight);
};

var divAbout = $("#about").height();
if(divAbout < linkHeight){
$("#about").css("height",linkHeight);
};

初歩的な質問で恐縮ですが、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/08/10 12:24:23
  • 終了:2011/08/10 18:02:07

回答(2件)

id:sheile No.1

Sheile回答回数45ベストアンサー獲得回数162011/08/10 13:02:36

ポイント150pt

検証用のHTMLページが無いので多少変更する必要はあるかもしれませんが、

以下のようなスクリプトでいけると思います。

var linkHeight = $(window).height();

$("#link,#dealer,#about").each(function() {
  var divHeight = $(this).height();
  if(divHeight < linkHeight) {
    $(this).css("height",linkHeight);
  };
});
id:dmt13

有難うございます!セレクターをまとめる方法が有るのですね。勉強いなりました。

2011/08/10 17:58:55
id:a-kuma3 No.2

a-kuma3回答回数4605ベストアンサー獲得回数19432011/08/10 13:31:23

ポイント150pt

ちょっと、ベタな感じのをひとつ。


function adjustHeight(e, h) {
    if(e.height() < h){
        e.css("height", h);
    }
}

var linkHeight = $(window).height();

adjustHeight($("#link"), linkHeight);
adjustHeight($("#dealer"), linkHeight);
adjustHeight($("#about"), linkHeight);
id:dmt13

有難うございます!関数にする方法もあるのですね。勉強になりました。

2011/08/10 18:01:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません