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

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

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

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

HTML

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

Q&A

解決済

2回答

841閲覧

特定のアコーディオンパネルを開いたまま他のページへリンクし、クリックしたら開閉するようにしたい

and44

総合スコア6

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2020/03/19 06:25

特定のアコーディオンが開いたままリンクし、
クリックするとアコーディオンが閉じるようにしたいのですがクリックしても開いたままになってしまいます。
■HTML

<ul> <li> <dl class="accordion"> <dt id="tab_link">タイトル</dt> <dd class="toggle">文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章</dd> </dl> </li> <dl> <dt>タイトル</dt> <dd>文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章</dd> </dl> </li> <dl> <dt>タイトル</dt> <dd>文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章</dd> </dl> </li> </ul>

■JS
$(function(){
$(".toggle").show();
$(".accordion dt").on("click", function() {
$(this).next().slideToggle();
$(this).toggleClass("active");
});
$(".accordion dt").mouseover(function(){
$(this).addClass("over");
});
$(".accordion dt").mouseout(function(){
$(this).removeClass("over");
});
});

どこがおかしいのかアドバイスいただけると幸いです。
よろしくお願いいたします。

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

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

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

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

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

TatamiSteak

2020/03/19 06:43

HTMLやjs等のコード類は、マークダウンのコードブロック内に入れてください! (エディター上部にある <code> っていうのを押すと出てくるアレです)
and44

2020/03/19 07:00

TatamiSteakさま アドバイスありがとうございました。 試させていただきましたが、意図しない動きになってしまいました。 https://gyazo.com/2b9ecf1dc27554958733db899f502e0e ↑上記のサイトにて 特定のアコーディオンパネルを開いたまま他のページへリンクまでは成功しておりますが、 【クリックしたら開閉する】ができていない状態です、、 参考ページ https://plant-dev.japanprint.biz/plant_pay
guest

回答2

0

自己解決

TatamiSteakさん

色々とありがとうございました!
なんとか解決できました!!

参考URL
https://gyazo.com/e13f7fc7325427d4990f98bdc709886a

※各コードは下記の通りです

□THML

<ul> <li> <dl> <dt id="tab_link" class="accordion">タイトル:アコーディオン1</dt> <dd class="toggle">ここに説明文などが入りますここに説明文などが入りますここに説明文などが入ります</dd> </dl> </li> <li> <dl> <dt>タイトル:アコーディオン2</dt> <dd>ここに説明文などが入りますここに説明文などが入りますここに説明文などが入ります</dd> </dl> </li> <li> <dl> <dt>タイトル:アコーディオン3</dt> <dd>ここに説明文などが入りますここに説明文などが入りますここに説明文などが入ります</dd> </dl> </li> </ul>

□JavaScript

$(".toggle").show(); $(".accordion dt").on("click", function() { $(this).next().slideToggle(); $(this).toggleClass("active"); }); $(".accordion dt").mouseover(function(){ $(this).addClass("select"); }); $(".accordion dt").mouseout(function(){ $(this).removeClass("over"); }); });

※今回は「タイトル:アコーディオン1」にid名やclass名を付けてJSにて機能するようにしています。

$(this).addClass("select");

の部分を

("over");

から

("select");

にしたらいい感じに機能しました。

投稿2020/03/21 18:09

and44

総合スコア6

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

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

0

①2つめ以降のliに開始タグが記述されていない
②2つめ以降のdlclass="accordion"の記述がない

この修正の後、正常に動作が確認できましたが、
これで治らなければ現状頂いてる情報ではこれが限界です…

<追記>
jsの最初に記述してる$(".toggle").show();が作動し続けているので、
最初のアコーディオンメニューが開いたまんまになっているという感じですかね?
.toggleをクリックしたらクラスを消し去るようにすれば閉じてくれるのではないでしょうか?

JavaScript

1 $(".toggle").on("click", function() { 2 $(this).removeClass("toggle"); 3 });

投稿2020/03/19 06:39

編集2020/03/19 08:05
TatamiSteak

総合スコア354

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

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

and44

2020/03/19 06:42

早々にご回答ありがとうございます! なお、ご指摘ありがとうございますm(__)m 修正させていただきます。
and44

2020/03/19 06:53

TatamiSteakさま アドバイスありがとうございました。 試させていただきましたが、意図しない動きになってしまいました。 https://gyazo.com/2b9ecf1dc27554958733db899f502e0e ↑上記のサイトにて 特定のアコーディオンパネルを開いたまま他のページへリンクまでは成功しておりますが、 【クリックしたら開閉する】ができていない状態です、、 参考ページ https://plant-dev.japanprint.biz/plant_pay
TatamiSteak

2020/03/19 06:59

これコンプライアンス的に大丈夫なやつなんですかね……?まぁいっか! えーと、「ひとつのアコーディオンを開いたら、他のメニューは閉じるようにする」という感じでしょうか? 認識間違ってたらすみません!
and44

2020/03/19 07:02

はい、そうです
and44

2020/03/19 07:05

>コンプライアンス~ すでに本公開済みではあります 現在でもページにてアコーディオンの修正してます 「再発行の手続きはどうしたらよいですか?」もクリックしたら閉じるようにしたですね、、 すいません、、
TatamiSteak

2020/03/19 07:17

追記しましたー!これで閉じてくれるかご確認お願いします!
and44

2020/03/21 18:15 編集

ありがとうございます。 https://gyazo.com/b88cdfcea18bde3b0ff5e8a3f68a9f1a なんか面白い動きになりました 下記のように修正しました $(function(){ $(".toggle").on("click", function() { $(this).removeClass("toggle"); }); $(".accordion dt").on("click", function() { $(this).next().slideToggle(); $(this).toggleClass("active"); }); $(".accordion dt").mouseover(function(){ $(this).addClass("over"); }); $(".accordion dt").mouseout(function(){ $(this).removeClass("over"); }); });
and44

2020/03/19 07:51

色々とありがとうございます、こちらでもコード修正します。
TatamiSteak

2020/03/19 07:59

ギギギ…… ちなみにdtのtab_linkとかddのtoggleとかを外してページ表示した場合だとどうなりますか?
and44

2020/03/19 08:01

回答ありがとうございます。 ごめんなさい、これから打ち合わせあるんで上記のテストは今日の夜にやってこちらに回答書きますねm(__)m
and44

2020/03/21 16:57

回答遅くなりまして、申し訳ありません、、 体調崩してましてほとんど寝てました、、 >ちなみにdtのtab_linkとかddのtoggleとかを外してページ表示した場合だとどうなりますか? 次のページのTOPへリンクするだけになりますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問