手机滚动加载

 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值