У меня есть функция Javascript, которая печатает различную информацию из json файла и отображает ее в виде оглавления. Он анализирует информацию и печатает ее в div "ui-grid-b", потому что я хочу, чтобы они были в строках из 3. У меня была проблема с печатью javascript при каждом открытии страницы, поэтому я добавил функцию, чтобы очистить div каждый раз, когда он печатает. Однако, когда я открываю новую отдельную страницу с помощью "ui-grid-b" div, она очищает ее и снова печатает оглавление. Вот код js, и я надеюсь, что вы можете помочь:
<script type="text/javascript">
var grid= new Array();
grid[0]= "a";
grid[1]= "b";
grid[2]= "c";
var j=0;
var color= new Array();
color[0]= '#00c6c4;';
color[1]= '#6fc41b;';
color[2]= '#ffbd0c;';
color[3]= '#ff84f1;';
color[4]= '#1fbbff;';
color[5]= '#ff1700;';
color[6]= '#976833;';
var k=0;
$(document).on("pageinit", "#Page1", function(){
var imp= "Json/empirical.json";
$.getJSON(imp, function(data) {
j=0;
k=0;
var toc= '';
$.each(data.tcontent, function(index, item) {
if (j > 2) { j = 0; }
if (k > 6) { k = 0; }
toc += "<div class='ui-block- ' " + grid[j] + " '>" + item.url + '<div class="grid" style="background-color: ' + color[k] + ' ">' + "<p class='gridtext'>" + item.Name + "</p>" + "</div>" + "</a>" + "</div>"
j++;
k++;
});
$(".ui-grid-b").empty().append(toc);
});
});
</script>
Назначьте свою точечную сетку уникальным идентификатором:
<div id="theTOC" class="ui-grid-b"></div>
Затем в вашем коде вместо:
$(".ui-grid-b").empty().append(toc);
делать
$("#theTOC").empty().append(toc);
Убедитесь, что этот идентификатор уникален по всем страницам. Также убедитесь, что у ваших страниц есть уникальные идентификаторы (т.е. Только одна страница под названием "Страница1").