2016-05-30 35 views
0

当我在页面2.html,我点击.next按钮它会进入无限循环,而不是导航到页面3.htmlwindow.location.href无限循环运行,尽管返回false语句

/* Init current page */ 
var current_page = localStorage.getItem("current_page"); 

/* If current page is undefined set set it to first page */ 
if (current_page === null) { 
    current_page = 1; 
    localStorage.setItem("current_page", current_page); 
} 

/* Load first page or where user had left off */ 
if (current_page != 1){ 
    window.location.href = current_page + ".html"; 
    return false 
} 


/* Navigate to next page */ 
$('button.next').on('click', function(e){ 
    e.preventDefault(); 
    current_page = parseInt(current_page)+1; 
    localStorage.setItem("current_page", current_page); 
    location.reload(); 
}); 

我页面加载过程中window.location.href定义,因为柜面如果他们下车,并返回用户应采取的最后访问的网页。

+1

不确定在这种情况下你会希望'return false'做什么。它将永远不会执行,因为页面将在该行之前重新加载。你究竟想要做什么?破碎的代码不能很好地替代你期望代码的正确解释 – charlietfl

+0

@charlietfl当用户点击'.next'按钮时,它应该将用户导航到下一页,但是它会以无限循环运行。 –

+0

如果'current_page'例如等于2,那么您的代码会在每次重新加载时调用'window.location.href = current_page +“.html”;'。这是没有意义的,因为顺便说一句'window.location.href'将重新加载页面 –

回答

0

在每个页面设置符合您的文件名号,并比较,与其总是比较1前做重定向

var activePage = 3; 

if (current_page != activePage){ 
    window.location.href = current_page + ".html";  
} 

变量activePage或者你可以解析URL,以获取从文件的活动页面数名称