問題点
このサイトを見て、自分の制作物にも取り入れたいと思いましたが問題点があり解決したい。
問題点:リロードした際に一瞬初期の値が表示されてしまう。
下記は上記のリンクのコードの写しです
jquery.cookie.jsも入れてます。
jquery
1$(function () { 2 var index = 0; 3 4 // クッキーのindexを取得し読み込み時にオープンする 5 if ($.cookie('index')) { 6 index = $.cookie('index'); 7 $('li').removeClass('selected').eq(index).addClass('selected'); 8 $('article').hide().eq(index).show(); 9 } 10 11 $('li').click(function() { 12 if (index != $('li').index(this)) { 13 index = $('li').index(this); 14 // タブの内容 15 $('article').hide().eq(index).fadeIn('fast'); 16 // タブ 17 $('li').removeClass('selected').eq(index).addClass('selected'); 18 19 // 有効期限は1日(クッキーにはドメインをセットしない、ブラウザを閉じたら初期化) 20 $.cookie('index', index, { expires: 1 }); 21 } 22 }); 23});
css
1article { 2 display: none; 3} 4 5article.selected { 6 display: block; 7}
html
1<ul id="tab"> 2<li class="selected">タブ 1</li> 3<li>タブ 2</li> 4<li>タブ 3</li> 5<li>タブ 4</li> 6</ul> 7<div id="detail"> 8<article class="selected"><p>タブ 1の内容</p></article> 9<article><p>タブ 2の内容</p></article> 10<article><p>タブ 3の内容</p></article> 11<article><p>タブ 4の内容</p></article> 12</div>
初期はタブ1が自動選択されており、タブ3を選択したまま画面をリロード(読み込み)すると、タブ3が選ばれたままになるようにするものですが、リロード時にタブ3の3の部分が一瞬1が表示されその後3が出てくるようになってしまいます。
実現したいこと
1.1が出てこないようにしたいです。
回答頂けたら助かります。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/02 10:54