javascript-在列表中显示带有三个计数器的元素

此引导程序分页显示了所有10个列表项,
虽然我可以隐藏其余元素并只显示三个,但是当我
单击下一步,将显示所有元素,我只想显示
接下来的三个元素,并隐藏上一个,然后隐藏下三个,依此类推
与上一个和下一个按钮.

这是css:

<style>
    .hide {
        display: none;
    }
</style>

这是HTML:

<div class="page">
    <nav>
        <ul class="pagination pagination-lg">
            <li class="page-item">
                <span class="page-link prev" href="#" aria-label="PrevIoUs">
                <span aria-hidden="true">&laquo;</span>
                <span class="sr-only">PrevIoUs</span>
                </span>
            </li>
            <li class="page-item list"><a class="page-link" href="#">1</a></li>
            <li class="page-item list"><a class="page-link" href="#">2</a></li>
            <li class="page-item list"><a class="page-link" href="#">3</a></li>
            <li class="page-item list"><a class="page-link" href="#">4</a></li>
            <li class="page-item list"><a class="page-link" href="#">5</a></li>
            <li class="page-item list"><a class="page-link" href="#">6</a></li>
            <li class="page-item list"><a class="page-link" href="#">7</a></li>
            <li class="page-item list"><a class="page-link" href="#">8</a></li>
            <li class="page-item list"><a class="page-link" href="#">9</a></li>
            <li class="page-item list"><a class="page-link" href="#">10</a></li>
            <li class="page-item">
                <span class="page-link next" href="#" aria-label="Next">
                    <span aria-hidden="true">&raquo;</span>
                    <span class="sr-only">Next</span>
                </span>
            </li>
        </ul>
    </nav>
</div>

这是jquery:

<script>
    $(document).ready(function() {
        $(".list").slice(3).addClass('hide');
        $("li:last-child").removeClass('hide');
        $('.next').click(function() {
            $('ul li').removeClass('hide');
        });
    });
</script>

这是JS小提琴:
https://jsfiddle.net/5d7kz732/

解决方法:

好吧,您的$(‘.next’).click(function(){

添加一个var position = 0;跟踪当前位置并在每次单击时添加3.

if(list.length< position 3)返回检查,这样我们就不会进一步缩短所有元素的长度.

 list.slice(0, position).addClass('hide');
 list.slice(position + 3).addClass('hide');

隐藏其余的.

使它适用于上一个按钮

   $('.prev').click(function() {
     if(0 > position - 3) return position = 0
     position-=3;
     $('ul li').removeClass('hide');
     list.slice(0, position).addClass('hide');
     list.slice(position + 3).addClass('hide');
     $("li:last-child").removeClass('hide');
   });
 $(document).ready(function() {
   var list = $(".list")
   list.slice(3).addClass('hide');
   $("li:last-child").removeClass('hide');

   var position = 0;

   $('.next').click(function() {
     if (list.length < position + 3) return
     position += 3;
     $('ul li').removeClass('hide');
     list.slice(0, position).addClass('hide');
     list.slice(position + 3).addClass('hide');
     $("li:last-child").removeClass('hide');
   });

   $('.prev').click(function() {
     if (0 > position - 3) return position = 0
     position -= 3;
     $('ul li').removeClass('hide');
     list.slice(0, position).addClass('hide');
     list.slice(position + 3).addClass('hide');
     $("li:last-child").removeClass('hide');
   });

 });
.hide {
        display: none;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="page">
  <nav>
    <ul class="pagination pagination-lg">
      <li class="page-item">
        <span class="page-link prev" href="#" aria-label="PrevIoUs">
                <span aria-hidden="true">&laquo;</span>
        <span class="sr-only">PrevIoUs</span>
        </span>
      </li>
      <li class="page-item list"><a class="page-link" href="#">1</a></li>
      <li class="page-item list"><a class="page-link" href="#">2</a></li>
      <li class="page-item list"><a class="page-link" href="#">3</a></li>
      <li class="page-item list"><a class="page-link" href="#">4</a></li>
      <li class="page-item list"><a class="page-link" href="#">5</a></li>
      <li class="page-item list"><a class="page-link" href="#">6</a></li>
      <li class="page-item list"><a class="page-link" href="#">7</a></li>
      <li class="page-item list"><a class="page-link" href="#">8</a></li>
      <li class="page-item list"><a class="page-link" href="#">9</a></li>
      <li class="page-item list"><a class="page-link" href="#">10</a></li>
      <li class="page-item">
        <span class="page-link next" href="#" aria-label="Next">
                <span aria-hidden="true">&raquo;</span>
        <span class="sr-only">Next</span>
        </span>
      </li>
    </ul>
  </nav>
</div>

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...