通过原生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 相关文章推荐
jQuery 页面载入进度条实现代码
Feb 08 Javascript
jQuery隔行变色与普通JS写法的对比
Apr 21 Javascript
JavaScript中的console.assert()函数介绍
Dec 29 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 Javascript
Node.js Streams文件读写操作详解
Jul 04 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
VueJs组件prop验证简单介绍
Sep 12 Javascript
Vue实现table上下移动功能示例
Feb 21 Javascript
小程序实现层叠卡片滑动效果
Aug 26 Javascript
js实现简单选项卡制作
Aug 05 Javascript
关于ES6尾调用优化的使用
Sep 11 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&mysql(三)
2006/10/09 PHP
php的一些小问题
2010/07/03 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
javascript demo 基本技巧
2009/12/18 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
垃圾回收器的相关知识点总结
2018/05/13 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
python使用mysql数据库示例代码
2017/05/21 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
Puppeteer使用示例详解
2019/06/20 Python
python根据时间获取周数代码实例
2019/09/30 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
网络安全方面的面试题
2015/11/04 面试题
难忘的一天教学反思
2014/04/30 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
MySQL新手入门进阶语句汇总
2022/09/23 MySQL