2016-05-30 145 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,以獲取從文件的活動頁面數名稱