我有一个Javascript函数,可以从json文件中打印各种信息,并将其显示在目录时尚中。它解析信息并将其打印成“ui-grid-b”div,因为我希望它们以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>
答案 0 :(得分:0)
为您的toc网格分配一个唯一ID:
<div id="theTOC" class="ui-grid-b"></div>
然后在您的代码中而不是:
$(".ui-grid-b").empty().append(toc);
DO
$("#theTOC").empty().append(toc);
确保此ID在所有页面中都是唯一的。还要确保您的页面具有唯一ID(即只有一个页面称为“Page1”)。