前提・実現したいこと
jsonファイル ローディング中に表示される項目B(※1)の「Now Loading」の表示を非表示にしたい
項目A(※2)はjsonファイルのロードが完了すると非表示になる
Now Loadingの設定箇所はソースコード中にコメントを入れています
※1 ソースコード中のparent['20'] = "B"の箇所;
※2 ソースコード中のparent['10'] = "A"の箇所;
※ 画面イメージ
----------------------------
項目A
----------------------------
記事がロードされ、Now Loading
が非表示になる
----------------------------
項目B
----------------------------
記事がロードされた後も
「Now Loading」が表示されたまま
該当のソースコード
JavaScript
1<div class="example_area"> 2{foreach from=$dai item=item name=dai key=key} 3 <h3 class="heading" id="a{$key}">{$item}</h3> 4 <table id="parent{$daiid[$key]}"> 5 <tr><th>項目</th><th>質問</th><th>執筆日</th></tr> 6 </table> 7 // Now Loading画面表示 8 <div id="no_new_data" style="text-align: center; padding-top:4em;"><img alt="Loading..." src="/files/user/images/sp/common/icon-loader.gif"><div>Now Loading</div></div> 9{/foreach} 10</div> 11 12<script type="text/javascript"> 13{literal} 14var parent=[]; 15parent['10'] = "A"; 16parent['20'] = "B"; 17var child=[]; 18child['10010'] = "AAA"; 19child['10020'] = "BBB"; 20 21(function($){ 22 var json_data = ''; 23 var json_num = ''; 24 25 // json取得 26 $.ajax({ 27 type: 'GET', 28 url: '/example_tag_json2/?data_format=json', 29 dataType: 'json' 30 }) 31 32 .done(function(json) { 33 $("#json_loading").empty(""); 34 dspList(json); 35 }) 36 .fail(function( jqXHR, textStatus, errorThrown ) { 37 //alert('データ取得に失敗しました'); 38 //alert(textStatus); 39 //alert(errorThrown); 40 }) 41 .always(function(json) { 42 }); 43 44 function dspList(json) 45 { 46 var tmpId = ''; 47 var tmpChild = ''; 48 var tmpDate = ''; 49 var tmpStr = ''; 50 var item_others_exists = false; 51 52 for(var i=0; i < json.length; i++){ 53 // ループ内なので変数初期化 54 tmpId = ''; 55 tmpChild = ''; 56 tmpDate = ''; 57 tmpStr = ''; 58 59 // Loading画面を非表示にする 60 $("#no_new_data").html(""); 61 $("#no_new_data").css("padding-top", ""); 62 63 // 大項目に値が存在していたら該当する大項目に行を追加 64 if (json[i].ext_col_xxx) { 65 // idは「parent +(大項目キー)」 66 tmpId = "#parent" + json[i].ext_col_xxx; 67 // 小項目値セット 68 if (child[json[i].ext_col_xxx]) { 69 tmpChild = child[json[i].ext_col_xxx] 70 } 71 // 日付成形 72 tmpDate = json[i].ymd.replace(/-/g, '/'); 73 74 // <tr>文字列生成 75 tmpStr = "<tr>"; 76 tmpStr = tmpStr + "<td>" + tmpChild + "</td>"; 77 tmpStr = tmpStr + "<td><a href=\"/example/detail/id=" + json[i].example_id + '\" title=\"' + json[i].subject + '\">' + json[i].subject + "</a></td>"; 78 tmpStr = tmpStr + "<td>" + tmpDate + "</td>"; 79 tmpStr = tmpStr + "</tr>\n"; 80 // <table>に<tr>をappend 81 $(tmpId).append( 82 (tmpStr) 83 ); 84 // 「その他」だけ表示制御 85 if (json[i].ext_col_xxx == 'xxx') { 86 item_others_exists = true; 87 } 88 } else { 89 } 90 } 91 if (!item_others_exists) { 92 $("#parentxxx").css("display", 'none'); 93 $("#a9").css("display", 'none'); 94 } 95 } 96})(jQuery); 97{/literal} 98</script> 99 100{/if}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/29 05:39
2020/05/29 05:39
2020/05/29 05:49
2020/05/29 05:53
2020/05/29 06:10
2020/05/29 06:26