分页组件vue和jsp版本
vue版本
<template>
<div class="com-vscroll">
<slot name="mcontent"></slot>
<div class="loadcss">
<img src="https://sta.caotangteach.com/static/com.mianfeinovel/images/common/mianfeinovel_loading.gif" class="loadimg" v-if="loading&&isFullLoad==1">
<div v-if="isFullLoad==1">正在加载更多...</div>
<div v-if="isFullLoad==0">没有更多数据了</div>
</div>
</div>
</template>
<script>
export default {
name: "ComVscroll",
props: {
isFullLoad: {
type: Number,
default:
},
watchCount: {
type: Number,
default:
}
},
data() {
return {
loading: true,
};
},
methods: {
fetchData() {
if (this.loading) {
return;
}
if (this.loading==false) {
this.loading = true;
this.$emit("onPullingUp");
}
},
scrollEventFunc() {
//当打开一个页面,一定会执行这里
var a = document.documentElement.clientHeight || document.body.clientHeight;
var b = document.documentElement.scrollTop || document.body.scrollTop;
var c = document.documentElement.scrollHeight || document.body.scrollHeight;
if (a + b + >= c) {
this.fetchData();
}
}
},
watch: {
watchCount(value) {
//根据上一页的结果,唯一能再次发接口的条件
this.loading = false;
}
},
mounted() {
if (window.addEventListener) {
window.addEventListener("scroll", this.scrollEventFunc, false);
} else if (window.attachEvent) {
window.attachEvent("scroll", this.scrollEventFunc);
}
}
};
</script> <style lang="stylus" scoped>
.com-vscroll {
.loadcss {
display: -webkit-box;
-webkit-box-pack: center;
height: 82px;
line-height: 82px;
font-size: .32rem;
color: #5D646E;
.loadimg {
margin-right: 10px;
margin-top :2px;
height: .32rem;
width: .32rem;
}
}
}
</style>
页面引用的时候:
<ComVscroll @onPullingUp="ClickPullup" :isFullLoad="hasMoreload" :watchCount="watchCount">
<div slot="mcontent">
<div class="page-mid">
<div class="mid-content">
<ComVlist :remenOptions="remenOptions" :hasMidBtn="identity<4" :dlist="Array.from(pageDatas[mtype])" :dadianParams="dadianParams"></ComVlist>
</div>
</div>
</div>
</ComVscroll>
第一次接口由页面的created或者路由监听执行。以后的分页才由scroll执行。
jsp版如下:
loadMore(); //主动执行第一次
function scrollEventFunc() {
var a = document.documentElement.clientHeight || document.body.clientHeight;
var b = document.documentElement.scrollTop || document.body.scrollTop;
var c = document.documentElement.scrollHeight || document.body.scrollHeight;
if (a + b + >= c) {
try { loadMore(); } catch (e) { }
}
}
if (window.addEventListener) {
window.addEventListener("scroll", scrollEventFunc, false);
} else if (window.attachEvent) {
window.attachEvent("scroll", scrollEventFunc);
}
var pageNum = ; //页码
var pageSize = ; //每页加载条数
var lastPage = false; //最后一页
var loading = false; //正在加载
var rankIndex=;
function loadMore(){
if (lastPage) { //已经是最后一页了,不再请求
return;
}
if (loading) { //正在加载
return;
}
loading = true;
pageNum++;
$('.nothing').hide();
$('.loading').show();
if (sextype==) {
var fenpin="man";
}else{
var fenpin="woman";
}
var url = window.J_search.buildAjaxUrl("/aa/aa/aa/list/"+pageSize+"/"+pageNum+"?sex="+fenpin);
$.ajax({
type: 'GET',
url: url,
async: false,
timeout: ,
success: function (returnData) {
if (returnData.respCode == "") {
var dataList=returnData.data;
if (dataList == null || dataList.length == ) {
lastPage = true;
loading = false; //加载结束
$(".nothing").show();
$('.template-207').hide();
return;
}
var cnxhStr='';
if(dataList&&dataList.length>) {
$.each(dataList, function (i, n) {
rankIndex++;
var seriaType=(n.serialStatus == 'SERIALIZE')?"连载中":"已完结";
//判断二级分类是否为空
var label = n.label;
if(label == null || label == ''){
label = '其他';
}
cnxhStr += '<div class="topPart book_top_1 rank' + i + ' getRank" onclick=\'click_Event("' + n.host + '","' + n.bookId + '","' + n.id + '","' + n.bookName + '","' + n.authorName + '","","","0","猜你喜欢","' + (rankIndex) + '")\'><div class="imgBox" ><img src="https://st.quanbennovel.com/static/images/default.png" data-src="' + n.sourceImageUrl + '"></div>';
cnxhStr += '<div class="des"><p class="name">' + n.bookName + ' </p><p class="details"> ' + n.description + '</p><div class="arAndpeo clearfix"><span class="author"> ' + n.authorName + '</span><span class="desLabel"><i class="firstLabel"> ' + label + ' </i></span></div></div></div>';
});
if (sextype==) {
$("#man .cnxh").append(cnxhStr);
}
if (sextype==) {
$("#woman .cnxh").append(cnxhStr);
}
try {
$(document).trigger('ajax:finish', pageNum - ); //处理图片加载失败
} catch (err) { } loading = false; //加载结束
lazyload("container"); //图片懒加载
} }else {
loading = false; //加载结束
return;
}
},
error: function (xhr, type, textStatus) {
loading = false;
}
});
}
分页组件vue和jsp版本的更多相关文章
- 基于avalon1.4.x ----分页组件编写
avalon分页组件 (1.4.x版本) 随着avalon2的推出,avalon1的官网已经不再维护了,现在似乎是找不到avalon 1.4版本的官方文档了,所以本文章所有的内容均不保证正确性,只能保 ...
- 手把手教你使用Vue/React/Angular三大框架开发Pagination分页组件
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎S ...
- 基于Vue.js的表格分页组件
有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫BootPage. 不了解Vue.js的童鞋 ...
- 基于Vue封装分页组件
使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...
- Vue.js的表格分页组件
转自:http://www.cnblogs.com/Leo_wl/p/5522299.html 有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更 ...
- vue分页组件table-pagebar
之前一直接触都是原始的前端模型,jquery+bootstrap,冗杂的dom操作,繁琐的更新绑定.接触vue后,对前端MVVM框架有了全新的认识.本文是基于webpack+vue构建,由于之前的工作 ...
- asp.mvc中的vue分页实例,分页组件无法重置reload,解决点击查询按钮后,分页不刷新的问题
刚刚接触Vue.js,现在需要做一个查询功能,并且进行服务端分页.主要思路是在页面中注册一个分页组件,然后进行调用.代码如下 1.引用vue.js,具体去网上下载 2.在html的body中添加如下代 ...
- 基于 bootstrap 的 vue 分页组件
申手党点这里下载示例 基于 bootstrap 的 vue 分页组件,我想会有那么一部分同学,在使用Vue的时候不使用单文件组件,因为不架设 NodeJS 服务端.那么网上流传的 *.vue 的各种分 ...
- Vue 2.0 pagination分页组件
最近写了一个分页组件,效果如下图: f-pagination.js文件 Vue.component('f-pagination',{ template:'<div class="fPa ...
随机推荐
- python2.0_day18_Django自带的用户认证模块的使用
用户验证我们基于一个项目来学习利用Django框架中的user表实现用户认证Django练习小项目:学员管理系统设计开发 项目需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成 ...
- 服务器允许js跨域
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Methods:POST,GET'); header('Ac ...
- PHP代码审计 -1.SQL注入总结
0x01 背景 最近在学习PHP代码审计,这里做一个SQL注入总结,是对自己学习知识的总结,也是为自己学习的笔记,方便自己反复翻阅. 0x02 PHP代码审计-SQL注入 挖掘SQL ...
- Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile)
使用maven打包的时候出现如下错误: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compil ...
- Python3 urllib 库
urllib 简介 urllib 基础模块 使用 urllib 发送请求 使用 urllib 构造请求对象 关于 Handler 与 opener 使用 urllib 进行身份验证 使用 urllib ...
- Keil(MDK-ARM)在线调试(Ⅰ)(转)
Ⅰ.写在前面 Keil在线调试的内容有很多,本文带来在线调试常用的内容:Debug Toolbar调试工具栏(复位.全速运行.停止运行.单步调试.逐行调试.跳出调试.运行到光标行.跳转到暂停行.调试窗 ...
- [Web Chart系列之六] canvas Chart 导出图文件
前言 博主正在参加CSDN2013年度博客之星评选,如果这篇文章对您有用,请投他一票: 投票地址:http://vote.blog.csdn.net/blogstaritem/blogstar2013 ...
- 【BZOJ2137】submultiple 高斯消元求伯努利数
[BZOJ2137]submultiple Description 设函数g(N)表示N的约数个数.现在给出一个数M,求出所有M的约数x的g(x)的K次方和. Input 第一行输入N,K.N表示M由 ...
- 【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃鸡! 最短路+拓扑排序+DP
[BZOJ5109][CodePlus 2017]大吉大利,晚上吃鸡! Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏 ...
- mac必备软件
LigthPaper:Markdown工具 ssh工具:ShellCraft