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

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

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

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

jQuery

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

HTML

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

CSS

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

解決済

this構文とfindメソッドの併用の仕方がわからない。

Akaho
Akaho

総合スコア0

JavaScript

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

jQuery

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

HTML

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

CSS

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

1回答

0評価

0クリップ

30閲覧

投稿2019/05/30 10:48

編集2022/01/12 10:58

概要
progate(プログラミング学習サービス)のjqueryコース中級編を学習しています。
今やっている課題はhoverイベントとaddClassremoveClassを使って、
webページを作る事を目指したものです。
ただ、今回、自分が分からないところはthis構文findメソッドを併用するところにつまずいています。
詳細以下
2枚画像の右にあるプレビューと見本を見比べてもらいたいんですけど、
自分のは画像にhoverすると全部の説明文が出てきてしまい、見本のように1つの説明文だけ出したいです。

イメージ説明
イメージ説明

試したこと、調べた事

thisとfindを使うよう指示があった。
併用するのがわからなかった。だから調べた。リンク内容
イメージ説明

$(this).children()のchildrenをfindに変えてやってみた。 それが$('.lesson-hover').hover( function() { // 子要素の「.text-contents」の要素を取得し、text-activeクラスをつけてください $('.text-contents').addClass('text-active'); $(this).find('.text-contents'); }, function() { // 子要素の「.text-contents」の要素を取得し、text-activeクラスを外してください $('.text-contents').removeClass('text-active'); $('.lesson-hover').find('.text-contents'); $(this); } ); });にあるhover時、上のやつです。 hoverしてない時に書いた下のやつは自分で『こうかな〜』と思ったやつです。 自分としては両方で迷っていました。それ以外の方法がわからないです。 その結果、うまくいきませんでした。教えて下さい。

html

コード <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Progate</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> </head> <body> <header> <div class="container"> <div class="header-left"> <img class="logo" src="https://prog-8.com/images/html/advanced/main_logo.png"> </div> <div class="header-right"> <div class="login" id="login-show">ログイン</div> </div> </div> </header> <div class="signup-modal-wrapper" id="signup-modal"> <div class="modal"> <div class="close-modal"> <i class="fa fa-2x fa-times"></i> </div> <div id="signup-form"> <h2>Emailで新規登録</h2> <form action="#"> <input class="form-control" type="text" placeholder="メールアドレス"> <input class="form-control" type="password" placeholder="パスワード"> <div id="submit-btn">新規登録</div> </form> </div> </div> </div> <div class="login-modal-wrapper" id="login-modal"> <div class="modal"> <div class="close-modal"> <i class="fa fa-2x fa-times"></i> </div> <div id="login-form"> <h2>Emailログイン</h2> <form action="#"> <input class="form-control" type="text" placeholder="メールアドレス"> <input class="form-control" type="password" placeholder="パスワード"> <div id="submit-btn">ログイン</div> </form> </div> </div> </div> <div class="top-wrapper"> <div class="container"> <h1>LEARN TO CODE.<br>LEARN TO BE CREATIVE.</h1> <p>progateはオンラインプログラミング学習サービスです。<br>初心者にもやさしいスライドとレッスンで、ウェブサービスを作りながらプログラミングを学んでいきましょう。</p> <div class="btn signup signup-show">新規登録はこちら</div> <p>or</p> <div class="btn facebook"><span class="fa fa-facebook"></span>Facebookで登録</div> <div class="btn twitter"><span class="fa fa-twitter"></span>Twitterで登録</div> </div> </div> <div class="lesson-wrapper"> <div class="container"> <div class="heading"> <h2>Learn Where to Get Started!</h2> </div> <div class="lessons"> <div class="lesson lesson-hover"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/html.png"> <p>HTML & CSS</p> </div> <p class="text-contents">ウェブページの作成に使用される言語です。HTMLとCSSを組み合わせることで、静的なページを作り上げることができます。</p> </div> <div class="lesson lesson-hover"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/jQuery.png"> <p>jQuery</p> </div> <p class="text-contents">素敵な動きを手軽に実装できるJavaScriptライブラリです。 アニメーション効果をつけたり、Ajax(エイジャックス)を使って外部ファイルを読み込んだりと色々なことができます。</p> </div> <div class="lesson lesson-hover"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/ruby.png"> <p>Ruby</p> </div> <p class="text-contents">オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。大きなWebアプリケーションから小さな日用ツールまで、さまざまなソフトウェアを作ることができます。</p> </div> <div class="lesson lesson-hover"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/php.png"> <p>PHP</p> </div> <p class="text-contents">HTMLだけではページの内容を変えることはできません。PHPはHTMLにプログラムを埋め込み、それを可能にします。</p> </div> </div> </div> </div> <div class="faq-wrapper"> <div class="container"> <div class="heading"> <h2>FAQ</h2> </div> <div class="faq"> </div> </div> </div> <div class="message-wrapper"> <div class="container"> <div class="heading"> <h2>さぁ、あなたもProgateでプログラミングを学んでみませんか?</h2> <h3 id="tagline">Let's learn to code, learn to be creative!</h3> </div> <div class="btn message signup-show">さっそく開発する</div> </div> </div> <footer> <div class="container"> <img src="https://prog-8.com/images/html/advanced/footer_logo.png"> <p>Learn to Code,Learn to be Creative.</p> </div> </footer> <script src="script.js"></script> </body> </html>

css

コード body { margin: 0; } a { text-decoration: none; } .top-wrapper { padding: 180px 0 100px 0; background-image: url(https://prog-8.com/images/html/advanced/top.png); background-size: cover; color: white; text-align: center; } .container { width: 1170px; padding: 0 15px; margin: 0 auto; } .top-wrapper h1 { opacity: 0.7; font-size: 45px; letter-spacing: 5px; } .top-wrapper p { opacity: 0.7; font-size: 14px; margin-bottom: 35px; } .signup { background-color: #239b76; } .facebook { background-color: #3b5998; margin-right: 10px; } .twitter { background-color: #55acee; } .btn { padding: 8px 24px; color: white; display: inline-block; opacity: 0.8; border-radius: 4px; cursor: pointer; } .btn:hover { opacity: 1; } .fa { margin-right: 5px; } header { height: 65px; width: 100%; background-color: rgba(34,49,52,0.9); position :fixed; top: 0; z-index: 10; } .logo { width: 124px; margin-top: 20px; } .header-left { float: left; } .header-right { float: right; background-color: rgba(255,255,255,0.3); transition: all 0.5s; } .header-right:hover { background-color: rgba(255,255,255,0.5); } .header-right .login { line-height: 65px; padding: 0 25px; color: white; cursor: pointer; display: block; } /*モーダル*/ .login-modal-wrapper, .signup-modal-wrapper { display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.6); z-index: 100; } .modal { position: absolute; top: 20%; left: 34%; background-color: #e6ecf0; padding: 20px 0 40px; border-radius: 10px; width: 450px; height: auto; text-align: center; } .fa-times { position: absolute; top: 12px; right: 12px; color: rgba(128, 128, 128, 0.46); cursor: pointer; } #signup-form, #login-form { width: 100%; } #signup-form h2, #login-form h2 { color: #5f5d60; letter-spacing: 1px; margin-bottom: 40px; } #signup-form input, #login-form input { width: 320px; margin-bottom: 20px; font-size: 12px; padding: 12px 12px; border: 1px solid #d0d5d8; border-radius: 5px; } #submit-btn { display: inline-block; padding: 14px 140px; background-color: #5dca88; border: none; border-radius: 3px; color: white; margin: 10px auto; cursor: pointer; } .lesson-wrapper { height: 500px; padding-bottom: 80px; background-color: #f7f7f7; text-align: center; } .heading { padding-top: 60px; padding-bottom: 30px; color: #5f5d60; } .heading h2 { font-weight: normal; } .lesson { float: left; width: 25%; } .lesson-icon { position: relative; width: 70%; margin: 0 auto; } .lesson-icon p { position: absolute; top: 75px; width: 100%; color: white; } .text-contents { margin: 3% auto; width: 80%; display: none; font-size: 12px; color: #b3aeb5; } /* ここに.text-activeのCSSを追加してください */ .text-active{ display:block; } /*faq wrapper*/ .faq-wrapper { background-color: #e6ecf0; text-align: center; padding-bottom: 80px; color: #5f5d60; } #faq-list { width: 500px; margin: 0 auto; padding: 0; list-style: none; } .message-wrapper { border-bottom: 1px solid #eee; padding-bottom: 80px; text-align: center; } .message-wrapper .heading h3 { font-weight: normal; }

javascript

コード $(function() { $('#login-show').click(function() { $('#login-modal').fadeIn(); }); $('.signup-show').click(function() { $('#signup-modal').fadeIn(); }); $('.close-modal').click(function() { $('#login-modal').fadeOut(); $('#signup-modal').fadeOut(); }); $('.lesson-hover').hover( function() { // 子要素の「.text-contents」の要素を取得し、text-activeクラスをつけてください $('.text-contents').addClass('text-active'); $(this).find('.text-contents'); }, function() { // 子要素の「.text-contents」の要素を取得し、text-activeクラスを外してください $('.text-contents').removeClass('text-active'); $('.lesson-hover').find('.text-contents'); $(this); } ); });

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JavaScript

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

jQuery

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

HTML

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

CSS

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