
下記のようにテストサイトを作ってみたのですが、<div class="im"><img ~></div>のimgにうまくclassがついてくれません。
ご教授の程宜しくお願いします。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>画像をぴったり合わせるテスト</title>
<style type="text/css">
.im {
position: relative;
width: 250px;
height: 250px;
overflow:hidden;
}
.vertically_long{
position: absolute;
top: -100%;
left: -100%;
right: -100%;
bottom: -100%;
width: 100%;
height: auto;
margin: auto;
}
.horizontally_long{
position: absolute;
top: -100%;
left: -100%;
right: -100%;
bottom: -100%;
width: auto;
height: 100%;
margin: auto;
}
.square{
position: absolute;
top: -100%;
left: -100%;
right: -100%;
bottom: -100%;
width: 100%;
height: auto;
}
</style>
<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
<script>
(function(){
var imgW = $(".im img").width();
var imgH = $(".im img").height();
if(imgW>imgH || imgW==imgH){
$(".im img").addClass("horizontally_long");
} else if(imgW<imgH){
$(".im img").addClass("vertically_long");
} else {
$(".im img").addClass("square");
}
});
</script>
</head>
<body>
<div class="im"><img src="images/image01.jpg" width="1920" height="1280" alt=""></div>
</body>
</html>
No.1ベストアンサー
- 回答日時:
見た感じクラスはつくと思いますが・・・
<script>
$(function(){
var imgW = $(".im img").width();
var imgH = $(".im img").height();
$(".im img")
.toggleClass("horizontally_long",imgW>imgH)
.toggleClass("vertically_long",imgW<imgH)
.toggleClass("square",(imgW==imgH));
});
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像のフェードインについて・...
-
ランダムで表示させたブロック...
-
スクリプト
-
jQuery 親要素の大きさに合わせ...
-
JavaScriptの画像入れ替えについて
-
複数のランダム表示について
-
JavascriptのDOMについて
-
jQueryの画像を使用したタブメ...
-
プルダウンメニューの表示
-
jQuery UIを使用した画像スライ...
-
[jQuery]bxSlider 一番最後と...
-
画像クリックで背景を変える
-
Slick.jsのオプションrtlについて
-
「リンクにマウスオーバーする...
-
ボタンでイメージの変更/Netsc...
-
画像と文字を同時に切り替えたい
-
複数画像のランダム複数表示(...
-
ステータスバーについて
-
ボタンを押せば、画面が切り替...
-
透過pngの透明部分以外をクリッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
交互に入れ替わる画像を複数配置
-
Colorboxがうまく設置できません
-
jQueryでのドラッグアンドドロ...
-
jQueryで同じクラス名のものを...
-
デフォルト非表示にしたい。【t...
-
ボタンを押すたびに交互に切り...
-
jqueryで、後から追加した画像...
-
アップロードファイルの種類に...
-
jQueryで4枚の画像がフェードア...
-
JavaScriptでの画像切り替えを...
-
画像のフェードイン・フェード...
-
JQueryを使用して、画像をドラ...
-
scrollTo 関数で苦戦してます。
-
Javascript初心者|jQueryの.va...
-
背景色と連動するスライドショ...
-
embed要素のsrc属性の値を変更...
-
fancyboxのポップアップ時の画...
-
onloadの同一ページ内の干渉対策
-
パララックスについて 上下に...
-
「画像クリックで音声再生」を ...
おすすめ情報