最近、JavaScriptを勉強し始め、Monacaの『Onsen UI v2 + JavaScript Tabbar』で
Webアプリの作成にチャレンジしようとしています。
アプリはCSVデータを読み込みグループ毎にリスト形式で表示したのちに、各リスト項目から詳細ページのHTMLを開こうとしています。
(リスト形式への出力はJavaScriptを使ってます)
タブの切替はうまくいったのですが、各リスト項目から詳細ページのHTMLに画面遷移する際、タブを固定させたまま画面遷移させたいのですがうまくできません。
どなたかご教授いただけないでしょうか
よろしくおねがいいたします。
HTML
1#index.html 2 3<!DOCTYPE HTML> 4<html> 5<head> 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 8 <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 9 <script src="components/loader.js"></script> 10 <script src="lib/onsenui/js/onsenui.min.js"></script> 11 12 <link rel="stylesheet" href="components/loader.css"> 13 <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> 14 <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> 15 <link rel="stylesheet" href="css/style.css"> 16 <script src="js/a1.js"></script> 17 <script> 18 ons.ready(function() { 19 console.log("Onsen UI is ready!"); 20 }); 21 22 document.addEventListener('show', function(event) { 23 var page = event.target; 24 var titleElement = document.querySelector('#toolbar-title'); 25 26 if (page.matches('#MENU1')) { 27 titleElement.innerHTML = 'MENU1'; 28 } else if (page.matches('#MENU2')) { 29 titleElement.innerHTML = 'MENU2'; 30 } else if (page.matches('#MENU3')) { 31 titleElement.innerHTML = 'MENU3'; 32 } else if (page.matches('#MENU4')) { 33 titleElement.innerHTML = 'MENU4'; 34 } 35 }); 36 37 </script> 38</head> 39<body> 40 <ons-page> 41 <ons-toolbar> 42 <div class="center" id="toolbar-title"></div> 43 </ons-toolbar> 44 <ons-tabbar position="auto"> 45 <ons-tab page="MENU1.html"> 46 <img src="IMG/MENU1.png" > 47 </ons-tab> 48 <ons-tab page="MENU2.html"> 49 <img src="IMG/MENU2.png"> 50 </ons-tab> 51 <ons-tab page="MENU3.html" active> 52 <img src="IMG/MENU3.png"> 53 </ons-tab> 54 <ons-tab page="MENU4.html"> 55 <img src="IMG/MENU4.png"> 56 </ons-tab> 57 </ons-tabbar> 58 </ons-page> 59 60<!-- MENU1 --> 61 <ons-template id="MENU1.html"> 62 <ons-page id="MENU1"> 63 <div id="k_list"> 64 <ul class="klist"> 65 <div id="titlek"></div> 66 </ul> 67 </div> 68 </ons-page> 69 </ons-template> 70 71<!-- MENU2 --> 72 <ons-template id="MENU2.html"> 73 <ons-page id="MENU2"> 74 <div class="Menu2"></div> 75 </ons-page> 76 </ons-template> 77 78<!-- MENU3 --> 79 <ons-template id="MENU3.html"> 80 <ons-page id="MENU3"> 81 <div class="Menu3"></div> 82 </ons-page> 83 </ons-template> 84 85<!-- MENU4 --> 86 <ons-template id="MENU4.html"> 87 <ons-page id="MENU4"> 88 <div class="Menu4"></div> 89 </ons-page> 90 </ons-template> 91 92</body> 93</html> 94
Javascript
1# a1.js 2// This is a JavaScript file 3//-------------------------------------------------------------------------------------------------------------------- 4// 一覧表示 5//-------------------------------------------------------------------------------------------------------------------- 6window.onpageshow =function onLoad() { 7 getCSVFile_k(); 8} 9 10//-------------------------------------------------------------------------------------------------------------------- 11// 12//-------------------------------------------------------------------------------------------------------------------- 13function getCSVFile_k() { 14 var xhr = new XMLHttpRequest(); 15 xhr.onload = function() { 16 createArray_k(xhr.responseText); 17 }; 18 xhr.open("get", "DT/DT_KANZO_K.csv", true); 19 xhr.send(null); 20} 21 22//-------------------------------------------------------------------------------------------------------------------- 23// 一覧作成[K] 24//-------------------------------------------------------------------------------------------------------------------- 25function createArray_k(csvData) { 26 var csvArrayk = []; 27 var tempArrayk = csvData.split("\n"); 28 for(var i = 0; i<tempArrayk.length;++i){ 29 csvArrayk[i] = tempArrayk[i].split(','); 30 }; 31 var dtk = []; 32 var y = ""; 33 var dd = 0; 34 35 for (var i=1; i<tempArrayk.length;++i){ 36 if (y == "'"+ csvArrayk[i][1]+"'") { 37 continue;} 38 else { y = "'"+ csvArrayk[i][1]+"'"; 39 if(csvArrayk[i][16]>0){ 40 dd += 1 41 dtk.push("<a href='kd001.html?" + y.slice(1,4) + "' id='ot" + dd + " target='_self' onclick= OnLinkClick("+ dd + ");>" + 42 "<li class='li_k'>" + y.slice(4,-1) + " <span id='r" + dd + "'><span id='yr" + dd + "'></span></li></a>"); 43 document.getElementById("titlek").innerHTML = dtk.join(''); 44 } 45 } 46 } 47}
回答1件
あなたの回答
tips
プレビュー