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

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

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

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

HTML

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

CSS

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

Q&A

解決済

1回答

1000閲覧

【JQuery】画像のキャプション表現がうまく動作しない

KY1212

総合スコア17

jQuery

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/05/22 14:50

編集2020/05/22 14:58

JQueryを学習しているのですが、キャプション表現がうまく動作しません。

下からギュニョっと黒帯のテキストを表示させ、画像もそれに合わせて黒帯のheight分ずれる感じに表現させたいです。
一応マウスを要素に置くと動作しているのが検証ツール上で確認できるのですが、なぜか黒帯の要素と画像が重なり合ってくれません。
positionの値を弄っても、それ以上上に上がらないのです。

header { width: 100%; height: 80px; display: flex; align-items: center; justify-content: center; } img { width: 100%; vertical-align: bottom; } header h1{ font-size: 40px; } #firstView { height: 600px; width: 100%; background-color: lightblue; } #firstView > .inner { max-width: 1262px; width: 96%; padding-top: 150px; margin: auto; } #firstView p { margin: auto; width: 100%; max-width: 400px; overflow: hidden; height: 262px; } #firstView ul { display: flex; justify-content: center; align-items: center; } #firstView ul>li { width: 100%; } #firstView p strong { position: relative; display: flex; align-items: center; z-index: 1; width: 400px; height: 50px; background: rgba(0, 0, 0, 0.5); color: #fff; font-size: 20px; text-align: left; bottom: 50px; padding-left: 20px; } #firstView p span { position: absolute; display: block; z-index: 0; top: 229px; width: 400px; height: 262px; box-shadow: inset 0 0 50px rgba(50, 50, 0, 0.6), inset 0 0 100px rgba(50, 50, 0, 0.3); background: rgba(255, 155, 0, 0.2); opacity: 0; } #firstView p:nth-child(3) strong { bottom: -120px; background: rgba(34, 34, 34, 1); } #firstView p:nth-child(3) img { position: relative; top: 0px; }
<body> <header> <h1>study jQuery</h1> </header> <section id="firstView"> <div class="inner"> <ul> <li> <p> <img src="img/01_img.jpg"> <strong>Bird-1</strong><span></span> </p> </li> <li> <p> <img src="img/02_img.jpg"> <strong>Bird-2</strong><span></span> </p> </li> <li> <p> <img src="img/03_img.jpg"> <strong>Bird-3</strong><span></span> </p> </li> </ul> </div> </section> </body>
$(function(){ var duration = 300; var $firstView = $("firstView, li"); $firstView.filter(':nth-child(3)') .on('mouseover', function(){ $(this).find('strong').stop(true).animate({bottom: '0px'}, duration); $(this).find('span').stop(true).animate({opacity: 1}, duration); $(this).find('img').stop(true).animate({top: '-20px'}, duration * 1.3); }) .on('mouseout', function(){ $(this).find('strong').stop(true).animate({bottom: '-120px'}, duration); $(this).find('span').stop(true).animate({opacity: 0}, duration); $(this).find('img').stop(true).animate({top: '0px'}, duration); }); });

![イイメージ説明(28005ebf0b713ae778848eb6882ad6ff.png)

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

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

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

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

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

guest

回答1

0

ベストアンサー

未検証ですが、以下のページが参考にならないでしょうか?

jQueryのanimateで自由にアニメーションできるようになろう | webOpixel

親に「position: relative」にして、子は「position: absolute」を指定しましょう。

これで「#wrap」を基点として、「left」や「top」で移動できるようになります。

投稿2020/05/22 15:17

編集2020/05/22 15:18
Yasumichi

総合スコア1773

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

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

KY1212

2020/05/22 15:23

ありがとうございます!無事解決いたしました! おっしゃる通りpositionの指定に問題がありました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問