js上拉加载
<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;
}
js上拉加载的更多相关文章
- zepto.js + iscroll.js上拉加载 下拉加载的 移动端 新闻列表页面
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- js上拉加载、下拉刷新的插件
之前在网上找那种下拉刷新,上拉加载的插件,有一款IScroll,但是用起来太麻烦,于是就自己写了款,但依赖于jquery.js,bug肯定有,希望评论提出. js: /* 简洁的下拉刷新,上拉加载插件 ...
- js上拉加载下拉刷新
写在前边: 工作需要,使用ajax在原来的列表下边使用ajax请求后台数据,拼接在列表最下边,在github转了好久,发现了一个bug极多的js刷新插件,尝试了一个下午,就在快放弃的时候,发现下边有留 ...
- JS 上拉加载
$(document).ready( function(){ $contentLoadTriggered = false; $("#mainDiv").scroll(functio ...
- 原生js移动端touch事件实现上拉加载更多
大家都知道jQuery里没有touch事件,所以在移动端使用原生js实现上拉加载效果还是很不错的,闲话不多说,代码如下: //获取要操作的元素 var objSection = document.ge ...
- JS+CSS实现的下拉刷新/上拉加载插件
闲来无事,写了一个当下比较常见的下拉刷新/上拉加载的jquery插件,代码记录在这里,有兴趣将代码写成插件与npm包可以留言. 体验地址:http://owenliang.github.io/pull ...
- vue.js移动端app实战4:上拉加载以及下拉刷新
上拉加载以及下拉刷新都是移动端很常见的功能,在搜索或者一些分类列表页面常常会用到. 跟横向滚动一样,我们还是采用better-scroll这个库来实现.由于better已经更新了新的版本,之前是0.几 ...
- 移动端下拉刷新上拉加载-mescroll.js插件
最近无意间看到有这么一个上拉刷新下拉加载的插件 -- mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com 然后我就看了一下文档,简单的写了一个小dem ...
- 【学习笔记】js下拉刷新、上拉加载 mescroll框架的使用
写在前边: 工作需要,使用ajax在原来的列表下边使用ajax请求后台数据,拼接在列表最下边,在github转了好久,发现了一个bug极多的js刷新插件,尝试了一个下午,就在快放弃的时候,发现下边有留 ...
随机推荐
- Hadoop_04_Hadoop 的HDFS客户端shell命令
1.Hdfs shell客户端命令操作: 1.1.查看命令列表:hadoop fs 帮助如下: Usage: hadoop fs [generic options] [-appendToFile &l ...
- gluOrtho2D与glViewport
https://blog.csdn.net/HouraisanF/article/details/83444183 窗口与显示主要与三个量有关:世界坐标,窗口大小和视口大小.围绕这些量共有4个函数: ...
- Linux系统用户权限管理
Linux系统中三种基本权限 用户属主.用户属组及其它人权限 -rw-r--r-- 1 root root 762 11-11 20:34 a.out 文件类型 ls命令中的缩写 应用 一般文件 - ...
- ELementD对象
在 HTML DOM (文档对象模型)中,每个部分都是节点: 文档本身是文档节点 所有 HTML 元素是元素节点 所有 HTML 属性是属性节点 HTML 元素内的文本是文本节点 注释是注释节点 El ...
- ORA-03113:通信通道的文件结尾处理
ORA-03113:通信通道的文件结尾执行:alter system set "_optimizer_join_elimination_enabled"=false; cmdsq ...
- SuperSocket框架的系列博文
官方文档 http://docs.supersocket.net/v1-6/zh-CN 对于我等小白,此系列博文,受益匪浅,慢慢看 https://www.cnblogs.com/fly-bird/c ...
- js深度克隆
function highClone(oldObj){ var cloneObj; if(oldObj.constructor==Object || oldObj.constructor==Array ...
- java输出乱码专题
https://blog.csdn.net/liaoYu1887/article/details/82714727(其他) @Controller public class ItemCatContro ...
- FZU - 2218 Simple String Problem 状压dp
FZU - 2218Simple String Problem 题目大意:给一个长度为n含有k个不同字母的串,从中挑选出两个连续的子串,要求两个子串中含有不同的字符,问这样的两个子串长度乘积最大是多少 ...
- Codevs 1200 同余方程 2012年NOIP全国联赛提高组
1200 同余方程 2012年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 求关于 x 同余方程 a ...