2016-05-13 26 views
0

我創建了一個腳本,它使用全局變量來定義當前顯示的部分,運行一個函數來添加或減去它,並使用該值來轉到下一個或通過顯示特定部分的前一個元素。基本上,一個HTML文件中有多個頁面。使用javascript在頁面內跳轉'next'和'previous'HTML元素

我已更新頁面以包含您的建議。

HTML與行的JavaScript

<html style="font-family:Segoe UI;font-size:150%;text-indent:2em;text-align:justify;color:000;background:FFF"> 
    <body style="padding:1% 3% 3% 1%"> 
     <section id='controls'> 
      <h1 id='prev' style="float:left;cursor:context-menu;color:#888" onclick="i('prev')">Prev Chapter</h1> 
      <h1 id='next' style="float:left;cursor:hand;color:#0F8" onclick="i('next')">Next Chapter</h1> 
     </section> 
     <section id='x0' class='x' style="display:block;cursor:context-menu"> 
      <script> 
     var page = 0 
     var a = document.getElementById('prev'); 
     var b = document.getElementById('next'); 
     var c = document.getElementsByClassName('x'); 
     function i(action) { 
      if (action == 'prev') { 
       if (page == 0) { 
        a.style.cursor = 'context-menu'; 
        a.style.color = '#FFF'; 
       } else { 
        a.style.cursor = 'hand'; 
        a.style.color = '#08F'; 
        page = page - 1 
       } 
      } 
      if (action == 'next') { 
       if (page == 0) { 
        b.style.cursor = 'context-menu'; 
        b.style.color = '#FFF'; 
       } else { 
        b.style.cursor = 'hand'; 
        b.style.color = '#0F8'; 
        page = page + 1 
       } 
      } 
      for (var i = 0; i < c.length; ++i) {c[i].style.display = 'none';} 
      document.getElementById('x'+page).style.display = 'block'; 
     } 

      </script> 
     </body> 
    </html> 
+0

請檢查該http://stackoverflow.com/questions/25434813/simple-pagination-in-javascript –

+0

謝謝,但是,我不認爲這是我正在尋找的代碼。 – iHL

+1

'IF(action ='prev')' - - 這是一個賦值,而不是比較,因此它會評估爲真。比較使用'=='或'==='運算符。您的代碼中多次出現此錯誤。 – shamsup

回答

0

JavaScript的劑量不會在乎動作的原因是因爲你使用了錯誤的操作。嘗試使用==運算符來創建一個返回布爾值的表達式。 您可以參考運營商的使用here

也考慮一個條件語句不讓頁面變量超出您的algorythim(例如-1)所需的範圍。 也考慮在<body>標籤結束加載腳本