通过原生vue添加滚动加载更多功能


Posted in Javascript onNovember 21, 2019

这篇文章主要介绍了通过原生vue添加滚动加载更多功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

vue中添加滚动加载更多,因为是单页面所以需要在跳出页面时候销毁滚动,要不会出现错乱。我们在mounted建立滚动,destroyed销毁滚动。

mounted () {
  window.addEventListener('scroll', this.handleScroll)
},
destroyed () {
  window.removeEventListener('scroll', this.handleScroll)
},

定义一个函数,在滚动到底部时候使滚动条距离顶部距离与可视区域高度之和等于滚动条总高度,在加载后如果列表长度为0时应该停止加载,要不会出现一直加载的情况

handleScroll () {
    //变量scrollTop是滚动条滚动时,距离顶部的距离
    var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
    //变量windowHeight是可视区的高度
    var windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
    //变量scrollHeight是滚动条的总高度
    var scrollHeight = document.documentElement.scrollHeight||document.body.scrollHeight;
    //滚动条到底部的条件
    if(scrollTop+windowHeight==scrollHeight &&this.list.length !==0){
      this.loadMore() // 加载的列表数据
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
根据地区不同显示时间的javascript代码
Aug 13 Javascript
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
浅析jquery某一元素重复绑定的问题
Jan 03 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
Jan 04 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
jquery中封装函数传递当前元素的方法示例
May 05 jQuery
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 jQuery
js使用highlight.js高亮你的代码
Aug 18 Javascript
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
Vue2 轮播图slide组件实例代码
May 31 Javascript
VuePress 静态网站生成方法步骤
Feb 14 Javascript
JS计算斐波拉切代码实例
Sep 12 Javascript
小程序api实现promise封装过程解析
Nov 21 #Javascript
如何基于原生javaScript生成带图片的二维码
Nov 21 #Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 #Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 #Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 #Javascript
webpack常用构建优化策略小结
Nov 21 #Javascript
Vue 中 filter 与 computed 的区别与用法解析
Nov 21 #Javascript
You might like
PHP 常用函数库和一些实用小技巧
2009/01/01 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
PHP图片加水印实现方法
2016/05/06 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Python3写入文件常用方法实例分析
2015/05/22 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
多版本Python共存的配置方法
2017/05/22 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python实战之制作天气查询软件
2019/05/14 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
SportsDirect.com新加坡:英国第一体育零售商
2019/03/30 全球购物
自我评价中英文语句
2013/11/30 职场文书
创先争优制度
2014/01/21 职场文书
售后服务承诺书模板
2014/05/21 职场文书
大专生求职信
2014/06/29 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
对照检查剖析材料
2014/09/30 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
毕业生登记表班级意见
2015/06/05 职场文书