java 滚动加载_手机滚动加载

Vue项目,h5实现手机端滚动加载。不用第三方插件

mounted(){

window.addEventListener('scroll',this.handleScroll);

},

methods:{

handleScroll(e){

function getViewportSize(w){

//使用指定的窗口, 如果不带参数则使用当前窗口

w = w || window;

//除了IE8及更早的版本以外,其他浏览器都能用

if(w.innerWidth != null)

return {w: w.innerWidth, h: w.innerHeight};

//对标准模式下的IE(或任意浏览器)

var d = w.document;

if(document.compatMode == "CSS1Compat")

return {w: d.documentElement.clientWidth, h: d.documentElement.clientHeight};

//对怪异模式下的浏览器

return {w: d.body.clientWidth, h: d.body.clientHeight};

}

var documentHeight = document.documentElement.offsetHeight;

var viewPortHeight = getViewportSize().h;

var scrollHeight = window.pageYOffset ||

document.documentElement.scrollTop ||

document.body.scrollTop || 0;

if(documentHeight - viewPortHeight - scrollHeight < 20){

//加载数据

var obj={

"id": 159,

"name": "Hello"

};

this.dataList.push(obj);

}

}

}

暂时写到这里,

1.如果时ajax请求获取数据,需要一个sentStatus的变量,发送请求。设置为true。

当sentStatus=true时,不会触发ajax请求。

2.是否要增加计时器,限制为1s只能触发一次。

转载至链接:https://my.oschina.net/zhangyafei/blog/1830246

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值