AページからアコーディオンパネルのあるBページへページ内リンクさせたいのですが指定した箇所へではなくページトップに飛んでしまい、うまく飛ばずに困っています。
cssでddタグを非表示にしているのですが、ページを読み込んだ際まだ非表示になっておらずjQueryが測定したページの高さと実際動作する際の高さがあっていないためかなと思っているのですがどうでしょうか?
ちなみにWordPressを使用しています。
Aページのリンク
<a href="<?php echo esc_url(home_url('/bpage#concept3')); ?>">Bページへ</a>
Bページ
<dl class="toggle"> <dt id="concept3" class="main_toggle">タイトル</dt> <dd> コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ、コンテンツ </dd> </dl>
jQuery
$(function(){ $('.singleToggle .main_toggle').addClass('main_open'); $('.main_toggle').click(function() { // メニュー表示/非表示 $(this).next('dd').slideToggle('fast'); $(this).toggleClass('main_open'); // メニューをクリックしたら他のメニューを閉じる $('.main_toggle').next('dd').not($(this).next('dd')).slideUp(); $('.main_toggle').not($(this)).removeClass('main_open'); }); }); $(function(){ $(location.hash).next('dd').slideToggle('fast'); $(location.hash).toggleClass('main_open'); });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。