説明が難しくて伝わるのか不安なんですが
top から page01に遷移したときに下記のコードを用いて読み込みをしているのですが
該当のソースコード
html
1<nav> 2 <ul> 3 <li class="btn01"> 4 <a href="#page01">button1</a> 5 </li> 6 <li class="btn02"> 7 <a href="#page02">button2</a> 8 </li> 9 </ul> 10</nav> 11 12<div id="main"> 13 <div id="page01"> 14 ああああ 15 </div> 16 <div id="page02"> 17 いいいい 18 </div> 19</div> 20
JS
1$(function(){ 2 if(document.URL.match(/page01/)){ 3 $('#page01').fadeIn(1000); 4 $('#page02').css({"display: none"}); 5 } else if(document.URL.match(/page02/)) { 6 $('#page02').fadeIn(1000); 7 $('#page01').css({"display: none"}); 8 } 9});
この場合、ブラウザの「戻る」ボタンが使えなくなってしまいます。
↓ 遷移
↓ 戻る
URLは戻りますが、表示されているページはpage01の内容のままです。
どうしたらブラウザの「戻る」ボタンが使えるようになりますか。
ボタンのホバーも合わせた修正コード
JS
1 $(window).on('popstate DOMContentLoaded',function(){ 2 var h=location.hash; 3 if(h){ 4 $('#page01, #page02').toggle(h==""); 5 $(h).fadeIn(1000).dequeue(); 6 if(document.URL.match(/page01/)){ 7 second_layout_page01(); 8 } else if (document.URL.match(/page02/)){ 9 second_layout_page02(); 10 }else{ 11 $('#page01,#page02').hide(); 12 $('.btn01, .btn02').removeClass("active"); 13 } 14 }); 15 16function second_layout_page01(){ 17 $('.btn01').addClass('active'); 18 $('.btn02').removeClass("active"); 19} 20 21function second_layout_page02(){ 22 $('.btn02').addClass('active'); 23 $('.btn01').removeClass("active"); 24}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/11/21 01:57
退会済みユーザー
2018/11/21 02:07 編集
2018/11/21 02:16
2018/11/21 02:24
退会済みユーザー
2018/11/21 03:09
2018/11/21 03:17
退会済みユーザー
2018/11/21 03:32
2018/11/21 03:44
退会済みユーザー
2018/11/21 04:24