###前提・実現したいこと
jQueryで実装したタブメニューの中に、AjaxによってHTMLを表示させたいと考えています。
具体的には、
html
1<div class="rightbar2"> 2 <ul id="tabMenu" class="clearfix"> 3 <li><a href="#tabBox1">分類1</a></li> 4 <li><a href="#tabBox2">分類2</a></li> 5 <li><a href="#tabBox3">分類3</a></li> 6 </ul> 7 <div id="tabBoxes"> 8 <div id="tabBox1">ここに分類2が入る<ul></ul></div> 9 <div id="tabBox2">ここに分類2が入る<ul></ul></div> 10 <div id="tabBox3">ここに分類3が入る<ul></ul></div> 11 </div> 12</div>
javascript
1$("#tabMenu li a").on("click", function(){ 2 $("#tabBoxes div").hide(); 3 $($(this).attr("href")).fadeToggle(); 4});
のようにして作ったタブメニューの中に、
javascript
1$.ajax({ 2 url: "xml/parts_data.xml", 3 type: "GET", 4 dataType: "xml", 5 timeout: 1000, 6 error: function(){ 7 alert("ロード失敗"); 8 }, 9 success: function(xml){ 10 $(xml).find("item").each(function(){ 11 $("#tabBox1 ul").append('<li><div id="change-pattern1" class="btn-item"><img src="' + $(this).find('sample_src').text() + '" id="' + $(this).find('id').text() + '" title="' + $(this).find('texture_src').text() + '" class="img_list"></div></li>'); 12 }); 13 } 14}); 15
のようにしてHTML(imgタグなので画像)を表示させます。
しかし、一番最初の表示だけはうまくいくのですが、タブを切り替えた際に、それまで表示されていたimgタグが消えてしまいます。
Ajaxで整形し出力したHTMLが消えないようにタブを切り替えるにはどのようにすればよいのでしょうか?
わかりにくい質問かとは思いますがご回答を頂けると助かります_(..)
###試したこと
タブ切り替えのクリックの度に上記のコードを実行し、HTMLをAjaxで整形し出力すれば実現はできますが、それは効率が悪い気がして…
また、タブメニューに関しては下記サイトを参考にしています。
http://liginc.co.jp/web/js/jquery/34048
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/19 09:04
2016/04/19 10:24
2016/04/20 00:35