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

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

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

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

jQuery

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

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

HTML

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

CSS

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

Q&A

解決済

1回答

300閲覧

jQuery 特定の要素を選択したい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

jQuery

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

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/10/01 10:59

編集2020/10/01 12:24

ポートフォリオのWorks欄(成果物紹介)のところで、画像のキャプションを表示させたいです。
ですが、jQueryでキャプション背景用のdiv要素を追加して、そのdiv要素を操作しようとすると、
Works欄以外のセクション(AboutだったりContact)も<div class="container"> </div>で囲っている為、
そのdivたちも反応してしまい、うまく動作しないです。
jQueryで特定のdivに対して操作できないと試行錯誤したのですが、よく分からなかったので、
解決策がありましたらアドバイスの方よろしくお願い致します。

HTML

1 <!-- works --> 2 <section class="works" id="works"> 3 <div class="container"> 4 <h1 class="section-title">WORKS</h1> 5 <h2 class="section-subtitle"><span></span>制作物紹介<span></span></h2> 6 7 <ul class="works-list animationTarget"> 8 <li class="works-item"> 9 <img src="img/cresta_top.png" alt="模写コーディング"> 10 </li> 11 <li class="works-item"> 12 <img src="img/isara_top.png" alt="模写コーディング"> 13 </li> 14 <li class="works-item"> 15 <img src="" alt="模写コーディング"> 16 </li> 17 <li class="works-item"> 18 <img src="" alt="作品の画像です"> 19 </li> 20 <li class="works-item"> 21 <img src="" alt="作品の画像です"> 22 </li> 23 <li class="works-item"> 24 <img src="" alt="作品の画像です"> 25 </li> 26 </ul> 27 </div> 28 </section> 29 <!-- //works -->

SCSS

1/* ========= works ========= */ 2.works { 3 4 &-list { 5 opacity: 0; 6 transition: 1s; 7 transform: translateY(50px); 8 display: flex; 9 justify-content: space-between; 10 align-items: center; 11 flex-wrap: wrap; 12 13 &.show { 14 opacity: 1; 15 transform: none; 16 } 17 } 18 19 &-item { 20 position: relative; 21 width: calc(85%/3); 22 height: 200px; 23 margin-bottom: 50px; 24 color: #ffffff; 25 26 img { 27 display: block; 28 width: 100%; 29 height: 100%; 30 box-shadow: 8px 8px 8px #555; 31 cursor: pointer; 32 margin-bottom: 20px; 33 } 34 } 35 36 div { 37 position:absolute; 38 display:none; 39 width:100%; 40 height:100%; 41 padding:20px; 42 background:rgba(17, 179, 179, .7); 43 top:0; 44 left:0; 45 } 46 47 p { 48 position: absolute; 49 top: 50%; 50 left: 50%; 51 transform: translate(-50% ,-50%); 52 } 53}

jQuery

1$(function () { 2 // li要素の最後にdiv要素を追加 3 $(".works-item").append("<div></div>"); 4 5 // div要素内に画像のキャプションを追加 6 $("div").each(function () { 7 $(this).html("<p>" + $(this).parent().children("img").attr("alt") + "</p>"); 8 }); 9 10 // li要素をマウスオーバー 11 $("li").on('hover', function () { 12 // キャプション部分の表示:フェードイン 13 $(this).children("div").stop().fadeIn(300); 14 15 // キャプションのテキスト位置:10pxから0pxへ移動 16 $(this).children("div").children("p").stop().animate({ 17 "top": 0 18 }, 300); 19 }, function () { 20 // キャプション部分の非表示:フェードアウト 21 $(this).children("div").stop().fadeOut(300); 22 23 // キャプションのテキスト位置:0pxから10pxへ移動 24 $(this).children("div").children("p").stop().animate({ 25 "top": "10px" 26 }, 300); 27 }); 28});

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

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

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

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

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

m.ts10806

2020/10/01 11:34

「SCSS」をタグに追加するか、コンパイル後のCSSを提示されたほうが良いかと思います。
退会済みユーザー

退会済みユーザー

2020/10/01 12:26

タグを追加させていただきました。
guest

回答1

0

ベストアンサー

<section class="works" id="works">の子孫要素に限定するなら、
#worksなどをセレクター部分に追記してみてください。

参考ページ
https://www.jquerystudy.info/reference/selectors/descendant.html

投稿2020/10/01 12:28

satokei

総合スコア1217

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問