Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  <meta charset="utf-8">
  <title>JS Pagination</title>
</head>
<body>
<nav>
  <ul class="pagination">
    <li id="prev">
      <span aria-hidden="true">&laquo;</span>
    </li>
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li><a href="#">6</a></li>
    <li><a href="#">7</a></li>
    <li><a href="#">8</a></li>
    <li id="next">
      <span aria-hidden="true">&raquo;</span>
    </li>
  </ul>
</nav>
</body>
</html>
 
li[data-display="false"] {
  display: none;
}
 
var li = document.getElementsByTagName('li');
var limit = 3;
// hiding more then [limit] elements
if (li.length > limit) {
  var display = 'true';
  for (var i = 1; i < li.length - 1; i++) {
    li[i].dataset.display = display;
    if (i >= limit) {
      display = 'false';
    }
  }
}
// adding event listener
var prev = document.getElementById('prev');
var next = document.getElementById('next');
prev.addEventListener("click", showprev);
next.addEventListener("click", shownext);
function showprev() {
  // if the first element is already shown - do nothing
  if (li[1].dataset.display == 'true') {
    return;
  }
  // get all shown
  var displayed = document.querySelectorAll('li[data-display="true"]');
  // hide last shown
  displayed[displayed.length-1].dataset.display = 'false';
  // show prev of first shown
  displayed[0].previousElementSibling.dataset.display = 'true';
}
function shownext() {
  // if the last elem already shown - do nothing
  if (li[li.length - 2].dataset.display == 'true') {
    return;
  }
  // get all shown
  var displayed = document.querySelectorAll('li[data-display="true"]');
  // hide first shown
  displayed[0].dataset.display = 'false';
  // show next of last shown
  displayed[displayed.length-1].nextElementSibling.dataset.display = 'true';
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers