html页面在数组中的特定位置

时间:2017-10-03 15:51:30

标签: javascript jquery html arrays

我正在处理这个项目,我有多个保存在数组中的HTML页面。每次用户在一个页面上完成任务时,阵列就会自动洗牌,并为用户加载剩余的HTML页面并显示。

charset=utf8

以上工作正常,但现在我想在用户访问过的每3页后添加一个var getPages = localStorage.getItem("htmlPages"); if (document.title === "INDEX" || !getPages) { var htmlPages = [ "page1.html", "page2.html", "page3.html", "page4.html", "page5.html", "page6.html", "page7.html", "page8.html", "page9.html", "page10.html" ]; console.log('initializing html pages BEGIN'); var jsonhtmlPages = JSON.stringify(htmlPages); window.localStorage.setItem("htmlPages", jsonhtmlPages); console.log('initializing html pages END'); } else { console.log('filling html pages'); var htmlPages = JSON.parse(getPages); } function RandomPages() { shuffle(htmlPages); if (htmlPages.length > 0) { window.location.href = htmlPages[0]; } else { console.log("tasks completed"); alert('ALL PAGES ARE DONE'); } console.log(htmlPages.shift()); console.log(htmlPages); var jsonPool = JSON.stringify(htmlPages); window.localStorage.setItem("htmlPages", jsonPool); console.log(htmlPages); } 页面。我用了

break.html

但这不是正确的解决方案,或者它是否在哪里添加它?因为数组洗牌而且break.html不会保留它的位置。任何帮助将不胜感激,谢谢

1 个答案:

答案 0 :(得分:0)

我会在RandomPages的每次通话中递增一个计数器,例如pageViews++。这应该在RandomPages方法之外定义,因此每次调用都不会重置。

然后在检查if (htmlPages.length > 0)之前,我会添加另一张检查

if (pageViews % 3 === 0) { 
  /* show break page and return/don't execute the next if check */ 
}