背景:

公司项目要求获取用户关联的好友列表,要求分页查询,十条数据一页,滚动页面是点击加载更多,显示下一页列表。

示例图:

实现:

本项目采用的前端模板是freemaker,主要前端页面代码(没有附css文件)如下:

<div class="middle-menu" style="margin: 0.3rem;">
<div id="tab1" class="middle-menu1 " onclick="changeTab(1)">已添加好友</div>
<div id="tab2" class="middle-menu2 " onclick="changeTab(2)">好友标签</div>
</div>
<div class="card-list-friend" id="noneToShow_1">
<div class="feedback-box p-t-67">
<img src="${mainDomain}/static/images/empty2.png" class="feedback-img" style="width: 3rem;" />
<p class="feedback-text">暂无数据</p>
</div>
</div>
<div class="card-list-friend" id="allCustShowDiv">
</div>
<div class="more-center-btn" id="allCustLoadMoreDiv" onclick="loadAllCustList();" style="display: none;">
<i class="iconfont"></i><span>点击加载更多</span>
</div>
<div class="more-center-btn" id="allCustLoadRemark" style="display: none;">
<i class="iconfont"></i><span>已显示全部好友</span>
</div>
</div>

显示效果如下:

js代码:

	// 全部好友页数
var commonPage1 = 1;
// 每页展示10个
var pageSize = 10;
//默认选中的标签页
var itemIndex = 1; //初始化
$(function () {
//进入页面就开始查询列表
loadAllCustList();
}) //分页获取好友页表
function loadAllCustList(){
$.ajax({
type: 'POST',
url: '${mainDomain}/friend/myFriendList?page=' + commonPage1 + '&size=' + pageSize,
dataType: 'json',
success: function (res) {
//获取数据
if (res.success) {
var resInfo = res.data.list;
var count = res.data.count; var showHtml = ''; if (count != 0 && resInfo.length != 0) {
for (let item of resInfo) {
showHtml += '' +
'<div class="card">' +
'<img src="${mainDomain}/static/images/person5.png" class="friend-avatar"/>' +
'<div>' +
'<div class="friend-name">微信昵称:' + item.followUserRemark +
'</div>' +
'<div class="friend-telephone">手机号:' + item.followUserRemarkMobiles +
'</div>' +
'</div>' +
'</div>';
} //隐藏默认的暂无数据页面
$("#noneToShow_1").hide();
//将查询的列表添加到页面上
$("#allCustShowDiv").append(showHtml);
}
//显示加载更多标签
$("#allCustLoadMoreDiv").show(); //如果已经没有多余的,就将加载更多隐藏
if (resInfo.length < pageSize || pageSize * commonPage1 >= count) {
$("#allCustLoadMoreDiv").hide();
if (resInfo.length != 0) {
$("#allCustLoadRemark").show();
}
} //页码+1
commonPage1++; } else {
console.log("加载数据失败,请稍后再试");
}
},
error: function (xhr, type) {
console.log("加载数据异常,请稍后再试!");
}
});
}

后台代码:接口需要自己写,略

最终效果图:

最新文章

  1. iOS系列 基础篇 05 视图鼻祖 - UIView
  2. 记录sql语句的执行记录,用于分析
  3. python 安装nltk,使用(英文分词处理,词干化等)(Green VPN)
  4. Mybatis中#{}和${}传参的区别
  5. Appium移动自动化测试之Eclipse
  6. Android 实现图片画画板
  7. phpcms 标签
  8. JSON与JAVA数据的相互转换
  9. 译文链接:http://www.codeceo.com/article/10-truth-programmer-must-know.html
  10. Filtering Specific Columns with cut
  11. appium 真机测试问题 出现 instruments crashed on startup
  12. linux下的Source命令的基本功能
  13. 各位Coder看过来
  14. C++ 智能指针 auto_ptr 和 shared_ptr
  15. vue基础4-数据绑定
  16. Android代码书写规范
  17. 4-23 模块 hashlib ,configparser,loging,collections
  18. iOS 开发之 KVC - setValuesForKeysWithDictionary 解析
  19. Git学习系列之Windows上安装Git详细步骤(图文详解)
  20. nodejs 遍历文件夹下所有的图片改名为中文

热门文章

  1. RabbitMQ 入门系列:10、扩展内容:延时队列:延时队列插件及其有限的适用场景(系列大结局)。
  2. Docker 搭建 Nexus3 私服 | 基本操作
  3. 08_Linux基础-vim-tmux-字符编码
  4. 闭包 与 js内存管理
  5. 注意了!这样用 systemd 可能会有风险
  6. [报错]-NameError: name &#39;NAN&#39; is not defined
  7. PHP函数小工具
  8. CentOS7使用yum方式安装Containerd
  9. 使用国内镜像源安装kubelet kubeadm kubectl
  10. Redis的web管理界面redis-manager