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

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

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

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

Q&A

解決済

1回答

1790閲覧

jquery プラス、マイナスの切り替えで全部マイナスになっていく

nony

総合スコア2

jQuery

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

0グッド

0クリップ

投稿2021/11/14 03:47

編集2021/11/14 08:21

FAQのページをJQuery,アコーディオンを用いて
”一つ開けると他は閉じる”方式で、クリックしたらアコーディオンが開くと共に、プラスがマイナスになる、逆に別のをクリックしたらそこが閉じ、マイナスがプラスになる、というのをしたい、のですが、

現状、他のところをクリックし、今開いていたところが閉まったあと全部がマイナスになっていきます、、
(同じものをクリックしたらプラスマイナス切り替わリます、)

html

1<div class="FAQ"> 2<dl> 3 <div class="faqL"> 4  <div class="faq_contents"><dt>質問 <i class="fas fa-plus"></i></dt> 5  <dd>答え</dd></div> 6 </div><!-- /.faqL --> 7 <div class="faqR"> 8  <div class="faq_contents"><dt>質問<i class="fas fa-plus"></i></dt> 9  <dd>答え</dd></div> 10 </div><!-- /.faqR --> 11</dl> 12</div><!-- /.FAQ --> 13<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css">

css

1.FAQ dl{ 2 display: flex; 3 justify-content: space-between; 4 max-width: 960px; 5 margin: 0 auto; 6 padding-top: 50px; 7 font-family: 'Montserrat', sans-serif; 8} 9.faq_contents{ 10 border: 1px solid #253b52; 11 background-color: #fff; 12 margin-bottom: 20px; 13 padding: 5px; 14} 15.FAQ dt{ 16 font-size: 20px; 17 padding: 5px 10px; 18 font-weight: bold; 19 cursor: pointer; 20} 21.FAQ i{ 22 float: right; 23 vertical-align: middle; 24 line-height: 30px; 25 color: #71A4D9; 26} 27.FAQ dd{ 28 font-size: 18px; 29 margin: 0 20px 20px; 30 text-align: justify; 31} 32.faqL{ 33 width: 50%; 34 margin-right: 50px; 35} 36.faqR{ 37 width: 50%; 38}

jquery

1const dt=$('.FAQ dt'); 2 const dd=$('.FAQ dd'); 3 4 dd.hide(); 5 6 dt.on('click',function(){ 7 $(this).next().slideToggle(); 8 dd.not($(this).next()).slideUp(); 9 10 $(this).children("i").toggleClass('fas fa-plus fas fa-minus'); 11 dt.not($(this)).removeClass('fas fa-plus fas fa-minus'); 12 13 14 15 });

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

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

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

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

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

ku__ra__ge

2021/11/14 06:26

> 現状、他のところをクリックし、今開いていたところが閉まったあと全部がマイナスになっていきます、、 提示されたコードでは、質問者さんの言う現状が再現できません。 問題が再現できるコードを提示してください。
nony

2021/11/14 08:23

ありがとうございます!すみませんでした、修正しました。よろしくお願いします。
guest

回答1

0

ベストアンサー

javascript

1const dt=$('.FAQ dt'); 2const dd=$('.FAQ dd'); 3 4dd.hide(); 5 6dt.on('click',function(){ 7 $(this).next().slideToggle(); 8 dd.not($(this).next()).slideUp(); 9 10 $(this).children("i").toggleClass('fas fa-plus fas fa-minus'); 11 dt.not($(this)).children("i").removeClass('fas fa-plus fas fa-minus'); 12 dt.not($(this)).children("i").addClass('fas fa-plus'); 13});

投稿2021/11/14 08:42

ku__ra__ge

総合スコア4524

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

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

nony

2021/11/14 08:46

ありがとうございました!!!!!!!!できました!感謝です嬉しいですありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問