質問: 初めまして。 まったくわからず、助けてほしいです。 JS/JQ 初心者です。 ### 実現したいこと ページ内のリンクをクリックすると別ページにあるアコーディオン内の該当箇所に飛ぶようにしたい。 ■仕様 1.ページ内のリンクをクリックすると別ページへ行き該当のアコーディオンが開く 2.さらに開いたアコーディオン内の該当箇所(h4)に飛びたい ### 該当のソースコード クリックするリンク index.html ``` テキストリンクテキストリンク テキストリンクテキストリンク ``` クリック後、別ページにあるアコーディオン test.html ``` タイトルタイトル リンク1※アコーディオン内の該当箇所(リンク先をここに指定したい) 内容内容内容内容内容内容 リンク2※アコーディオン内の該当箇所(リンク先をここに指定したい) 内容内容内容内容内容内容 タイトルタイトル リンク3※アコーディオン内の該当箇所(リンク先をここに指定したい) 内容内容内容内容内容内容 ``` js ``` //アコーディオン $(function() { $(".linkarea h3").on("click", function(){ $(this).next(".linkbox").slideToggle("slow"); $(this).next(".linkbox").toggleClass("active"); }); $(location.hash).children('.linkbox').slideToggle(); $(location.hash).find('.linkbox').toggleClass('active'); }); ``` どのようにアコーディオン内の該当箇所に飛べばいいかが、まったくわかりません。。。 js/jQの詳しい方ご教授いただけると幸いです。 また、大変不慣れなため、ソースを記述していただけると幸いです。 大変お手数おかけしますが、よろしくお願いします。
回答: > > 別ページへ行き該当のアコーディオンが開く > > > 別ページにアコーディオンメニューがあってそれが基本閉じているということでしょうか? リンクした場所自体は閉じてないのでしょうか? > > どのようにアコーディオン内の該当箇所に飛べばいいかが、まったくわかりません > > > ハッシュの位置に勝手に移動しませんか? ハッシュの中の指定位置に飛ぶ ============== IEだけ何故かpageshow時のscrollTopが効かないのでsetTimeoutで時間差で処理しました * mypage.html ``` accordion01のh4 accordion01の.linkbox accordion02のh3 accordion02の.linkboxの中のp ``` * test.html ``` タイトルタイトル リンク1 内容内容内容内容内容内容 タイトルタイトル リンク2 内容内容内容内容内容内容 タイトルタイトル リンク3 内容内容内容内容内容内容 ```