2016-12-23 6 views
2

これは私が他人の投稿から学ぶ次の関数であり、私はprev関数をどのように行うのだろうかと思います。次の前の関数JavaScript/phpを使用

何人か考えてみませんか?異なるアプローチも歓迎されています。

function next() { 
    var pElems = document.querySelectorAll('#Pages>div'); 
    for (var i = 0; i < pElems.length; i++) { 
     if (pElems[i].style.display !== 'none') { 
      pElems[i].style.display = 'none'; 
      if (i === pElems.length - 1) { 
       pElems[0].style.display = 'block'; 
      } else { 
       pElems[i + 1].style.display = 'block'; 
      } 
      break; 
     } 
    } 
} 
+0

配列はまったく同じですが、逆の配列です。あるいは、配列の終わりから始め、0になるまで行う。あるいは、 'pElems [i-1] .style.display'などと組み合わせて' i == pElems.lenghth + 1'を使うこともできます。ちょっと遊んでみてください。 – Shilly

答えて

1

あなたの現在の機能は、前方に一つの要素ステップ:pElems[i + 1]、その後方あなただけ後方pElems[i - 1]を1ステップができ、その後、あなたは最後まで最初の要素とのジャンプに到達した場合に対処する必要が行くように、このような何かをそれを行う必要があります:

function prev() { 
    var pElems = document.querySelectorAll('#Pages>div'); 
    for (var i = 0; i < pElems.length; i++) { 
     if (pElems[i].style.display !== 'none') { 
      pElems[i].style.display = 'none'; 
      if (i === 0) { 
       pElems[pElems.length].style.display = 'block'; 
      } else { 
       pElems[i - 1].style.display = 'block'; 
      } 
      break; 
     } 
    } 
} 
関連する問題