javascript|jPage实现对评论的无刷新分页

今天老板提了个需求,就是想在产品详情页的评论里面进行分页,然后由于评论在整个页面的中间靠下部分,那么分页后每次点击分页进行跳转都会回到顶部,需要再次拉取到评论的位置才能看到,这样体验不好。于是就想点击后在当前位置浏览下一页的评论。对于这个需求,笔者可以想到的是两种解决方案:

第一种:使用ajax,分页数据照样,然后在接受的控制器中根据传过去的p进行判断,p不等于1,则使用ajax返回数据,重写对应块。这样的方式以前在thinkPHP里面常用到。但是在系统中,当前也可以,但是反应速度会比较慢,一次请求应该在两三秒之间,整体体验并不好。于是只能换种思路。

第二种:就是用js插件对数据进行分页,并无刷新加载下一页。在jq22网站上找了一圈,发现只有这个插件比较符合需求。名字叫jPages,貌似是一个外国人写的,在github上面有开源的代码。这里就大致写一下自己的测试和使用注意事项:

上代码:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>defaults</title>
  <meta name="description" content="defaults">
  <meta name="keywords" content="jquery, pagination, javascript, plugin"/>
  <meta name="author" content="Luís Almeida">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <script type="text/javascript" src="jquery-1.8.2.min.js"></script>  
<link rel="stylesheet" href="jPages.css">
<script src="jPages.min.js"></script>
 
  <script>
  /* when document is ready */
  $(function() {
    /* initiate plugin */
    $("div.holder").jPages({
      containerID: "itemContainer",
	  perPage: 10,
    });
  });
  </script>
  
</head>
<body>
 
  <div id="container" class="clearfix">   
    <!--! end of #sidebar -->
    <div id="content" class="defaults">    
      <!-- item container -->
      <ul id="itemContainer">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>    
      </ul>
      <!-- navigation holder -->
      <div class="holder">
      </div>
    </div>
    <!--! end of #content -->
  </div>
  <!--! end of #container -->  
</body>
</html>

使用注意事项:

  1. 引入jquery和jpage扩展包,以及jpage.css分页样式;
  2. 对相应的内容块和分页块进行初始化,分别填入对应的class名字或者id;
  3. 分页class样式定义为holder,如果想使用jpage.css的话请加上这个class名;
  4. 分页数据内容在itemContainer里面,该插件的特点是把所有数据读取出来,插件会根据定义的配置自动进行数据分页显示;
  5. 相关的配置可以看jpage.js,支持实例化的时候自定义上一页下一页,分页数量等;
  6. 本插件只对可见元素有效,如果内容页为不显示状态,那么分页将无效(笔者就入坑了);

最后需要特别说明,本插件只适用于小体量数据的分页展示,如评论分页、小数据列表分页等。不适合大量数据,毕竟所有数据是一次性读取出来的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值