js上拉加载
2024-10-06 22:35:43
<ul class="u-f-log">
<li class="u-f-log-alone" v-for="item in log">
<div class="u-f-log-alone-info">
<div class="iconfont icon-dingdan1"></div>
<!--<div v-if="item.type==2" class="iconfont icon-wode"></div>-->
<!--<div v-if="item.type==3" class="iconfont icon-fenxiang3"></div>-->
<div class="u-f-log-alone-info-text">
<div>{{item.remarks}}</div>
<div>{{item.active_time}}</div>
</div>
</div>
<div class="u-f-log-alone-price">+{{item.yongjin}}</div>
</li>
<li class="public-none" v-if="loading_over">~已经没有数据了~</li>
</ul>
data: {
log:[],
page: 1,
is_loading:false,
loading_over:false,
is_search: false,
init_search_list: true }
methods: {
getFanli: function(callback){
var that = this;
var layload
layer.ready(function(){
layload =layer.load();
});
that.$http.post("{:url('api/user/getMyFanli')}",{"_ajax": "1","page": that.page,token:localStorage.getItem('token'),"limit":14}, {emulateJSON: true}).then(function (res) {
console.log(res);
that.yue = res.data.data.money;
that.leiji = res.data.data.taotal_fanli;
that.dai = res.data.data.daifanli;
layer.close(layload);
if(that.page===1){
that.log = res.data.data.list;
}else{
for(var i in res.data.data.list){
that.log.push(res.data.data.list[i]);
}
}
that.page++;
that.$nextTick(function() {
if(res.data.data.list.length == 0) {
that.loading_over = true;
}
callback()
})
}, function (err) {
console.log(JSON.stringify(err));
});
}
}
mounted: function() {
var that = this;
that.getFanli(function(){});
window.onscroll = function(){
if(parseInt((getScrollTop() + getWindowHeight() + 100)) >= getScrollHeight()){
//此时滚动条已经下拉到底部啦
if(that.is_loading) {
return false;
}
if(that.loading_over) {
return false;
}
that.is_loading = true;
that.getFanli(function() {
that.is_loading = false;
});
}
};
}
js公共方法:
//滚动条在Y轴上的滚动距离
function getScrollTop(){
var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;
if(document.body){
bodyScrollTop = document.body.scrollTop;
}
if(document.documentElement){
documentScrollTop = document.documentElement.scrollTop;
}
scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;
return scrollTop;
}
//文档的总高度
function getScrollHeight(){
var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0;
if(document.body){
bodyScrollHeight = document.body.scrollHeight;
}
if(document.documentElement){
documentScrollHeight = document.documentElement.scrollHeight;
}
scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;
return scrollHeight;
} //浏览器视口的高度
function getWindowHeight(){
var windowHeight = 0;
if(document.compatMode == "CSS1Compat"){
windowHeight = document.documentElement.clientHeight;
}else{
windowHeight = document.body.clientHeight;
}
return windowHeight;
}
最新文章
- PHP中include和require绝对路径、相对路径问题
- Elasticsearch 搜索不到数据问题(_mapping 设置)
- Latex 常用知识点存档
- node.js介绍
- 随机四则运算的出题程序java
- struts2 上传与下载
- 位运算符 &; | ~ ^ <;<; >;>;
- JS中encodeURI()、decodeURI()、encodeURIComponent()和decodeURIComponent()编码与解码
- 学会JavaScript函数式编程(第1部分)
- office 产品密钥
- AGC 010D.Decrementing(博弈)
- python-工厂方法模式
- 转:.Net内存泄露原因及解决办法
- ZOJ 3203 灯泡
- luogu P3387 【模板】缩点
- PhoneGap原理
- 为什么java代码中要避免多层深度for循环嵌套
- entityframework导航属性筛选
- POP动画[3]
- JVM中的STW和CMS
热门文章
- 【javascript】[].slice.call(arguments)的作用
- 小程序UI设计(9)-文字排版
- mybatis配置加载源码概述
- slices = [dicom.read_file(path + &#39;/&#39; + s) for s in os.listdir(path)] FileNotFoundError: [WinError 3] 系统找不到指定的路径。
- 让Eclipse启动时显示选择workspace的对话框
- 基于Kibana的可视化监控报警插件sentinl入门
- Oracle 查询对应表所有字段名称,可排除不想要的字段
- POJ-2752-Seek the Name(KMP, 循环节)
- URAL 2092	Bolero 贪心
- python celery 异步学习