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

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

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

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

HTML

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

CSS

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

Q&A

解決済

1回答

528閲覧

jsでcssを操作して、アコーディオンを開いた状態の別ページにリンクする

horiaya

総合スコア14

JavaScript

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/01/31 01:40

index01.htmlから、index02.htmlにリンクする際、index02.html内にあるアコーディオン部分を開いた状態で、その位置に移動するようにしたいです。
アコーディオンはcssです。

【状況】
index01.html内のリンク

<a href="index02.html#s01">この職種の詳細を見る</a>

index02.htmlのタブ部分

<div id="s01"> <div class="accbox"> <!--詳細--> <label for="label1">▼ 詳細をみる / 詳細を閉じる ▲</label> <input type="checkbox" id="label1" class="cssacc" /> <div class="accshow"> <!--隠す中身--> <p> (ここにコンテンツ) </p> </div> </div> </div>

index02.htmlにかかるcss

/*チェックは隠す*/ .accbox input { display: none; } /*中身を非表示にしておく*/ .accbox .accshow { height: 0; padding: 0; overflow: hidden; opacity: 0; transition: 0.8s; } /*クリックで中身表示*/ .cssacc:checked + .accshow { height: auto; padding: 5px; opacity: 1; }

【やってみたこと】

index01.html内のリンク

<a href="index02.html#s01" onclick="myfunc()">この職種の詳細を見る</a> <script> function myfunc(){ $(function() { $("#s01").cssacc({ }); }); } </script>

いろいろなサイトを見て、上記のようにクリックで機能する関数を作成するのかなと思うのですが、index02.htmlのファイルをどう指定するのか、また.cssaccをcheckedにする方法も理解できませんでした。
何か方法がわかる方がいらっしゃいましたらお答えいただけるとありがたいです。
どうぞよろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

URLがhttp://example.com/index02.html#s01の時に、location.hash#s01を返します。
jQueryを使っているようなので、$(location.hash)$('#s01')と同じです。
ですから、index02.htmlに

js

1$(function(){ 2 $(location.hash).find(...).prop('checked', true); 3})

みたいな感じで追加すれば、動作するのではないでしょうか。

投稿2018/01/31 02:12

Lhankor_Mhy

総合スコア36074

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

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

horiaya

2018/01/31 03:49

ありがとうございます! 解決しました!! <script> $(function(){ $(location.hash).find('.cssacc').prop('checked', true); }) </script> また、index02.html#s02, index02.html#s03, index02.html#s04...とアコーディオンの開きが複数ありそれぞれにリンクする必要がありましたが、こちらも解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問