首页 > 建站教程 > 前端框架 >  Vue实现滚动条到底部加载更多,Vue滚动加载正文

Vue实现滚动条到底部加载更多,Vue滚动加载

我爱模板网在开发vue项目时,需要用到上拉加载,如果为了这个特地引个组件有点麻烦,根据滚动条判断下滚动距离,就能轻松实现滚动加载更多了。下面是简单的实现方法:

1、css代码:
.box{
    width: 500px;
    height: 500px;
    overflow-y:auto;
}
2、html
<div class="box" ref="box">
    <!--列表内容放在这里-->
    <!--列表内容如果一次加载不完,一定要保证初次加载时的列表总高度超过box的高度,否则不会产生滚动条-->
</div>
3、js
mounted() {
    let box = this.$refs.box;
    box.addEventListener('scroll',this.handleScroll,true);
 },
methods: {
    handleScroll(e){
        //变量scrollTop是滚动条滚动时,距离顶部的距离
        var scrollTop = e.target.scrollTop;
        //变量windowHeight是可视区的高度
        var windowHeight = e.target.clientHeight;
        //变量scrollHeight是滚动条的总高度
        var scrollHeight = e.target.scrollHeight;
        //滚动条到底部的条件
        if(scrollTop + windowHeight == scrollHeight){
            //写后台加载数据的函数
            console.log("距顶部"+scrollTop+"可视区高度"+windowHeight+"滚动条总高度"+scrollHeight);
        }
    },
}